一、GitHub
1、GitHub注册地址:https://github.com
注册第一步完成就会发送邮件验证
2、进入邮件点击验证,就会跳转GitHub创建仓库:
也可以在GitHub右上角创建仓库
进入首页
二、Git
GitHub注册并创建好仓库,需要Git来远程操作
Git下载地址:https://git-scm.com/downloads,点击windows会自动下载对应的版本。
官网下载很慢的话,可以到软件管家里下载很快
安装git
1、双击安装程序
2、点击next
3、选择安装路径,点击next
一路next
新增功能不稳定,点击安装
安装完成:
Git使用
Git工作示意图:
1、电脑中新建一个GitHub目录,在目录中右击Git Bash Here
2、在Git Bash中输入命令git version,看到版本信息说明安装成功
3、git --help 查看帮助
4、git init 初始化当前文件夹为版本管理仓库,并且在当前文件夹下创建一个.git隐藏文件、里面为版本管理文件
5、vim test.py 创建一个test.py文件
6、提交文件到版本库需要2步
git add xx 从工作区增加xx文件到暂存区。 git add* 增加所有文件到暂存区
git commit -m '注释' 从暂存区提交到版本库(一定要注释,SVN可以没有)
提示没有配置用户信息
7、配置用户信息
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
配置git用户名与GitHub账户可以不一致,如果一致的话可以在GitHub仓库中直接点击账户可以链接进入GitHub账户首页
不一致时就不能点击账户。
8、git status 查看状态后提示未提交
git commit -m '注释' 提交至版本库
修改文件撤回的几种情况
1、在工作区修改test.py 文件后突然想撤销
根据提示命令git restore xx文件
2、提交到暂存区突然想撤回修改
先从暂存区打回到工作区,在工作区撤销
查看状态时:红色的代表文件在工作区(不具备版本管理,工作区修改的文件未git add,状态为红色),
绿色的代表文件在暂存区(暂存区具备版本管理,git add 后的文件就被跟踪了。)
版本库具备永久记录历史版本功能
3、提交到版本库了,不能回到工作区撤销,可以回到某个版本
git log 查看版本记录
git reset --hard 117d5c 回到某个版本号
git reset --hard HEAD^^^ 回到上上上个版本号
git reflog 版本号没了,可以通过操作的版本信息记录来找到
配置秘钥与GitHub远程空仓库连接,并推送文件
1、执行命令 ssh-keygen -t rsa -C “you@example.com”,按三次回车
2、进入/c/Users/Lenovo/.ssh/id_rsa.pub复制公钥
3、配置秘钥:
GitHub→Setting→SSH and GPG Keys →new SSH Key →Title任意取
4、验证秘钥配置成功:
ssh -T git@github.com
5、推送到GitHub远程创建好的空仓库
首次要先建立ssh桥梁,地址到GitHub上复制(不是克隆的本地版本库与远程仓库名称也不一致需要增加连接名称,以方便后面使用)
git remote add orgin git@github.com:xx用户/helloworld.git
git remote 查看连接名称
git remote -v 查看连接远程服务器详细地址
git push orgin master 推送到远程仓库主支(克隆的版本库直接使用git push命令)
GitHub上看到代码推送上去了
如果GitHub创建仓库时添加了README,就会推送不成功,需要先pull到本地工作区,再push(保存文件同步一致)
git pull orgin master
克隆远程GitHub仓库到本地
——建议刚开始就先把远程GitHub仓库克隆到本地,保持本地目录名与远程仓库名一致。这种操作方式比先建本地版本库,
再连接远程地址要好用。比如推送时直接git push,不需加origin master;而且本地修改后可直接push,不要先pull
1、git clone xx地址到GitHub上复制
并且在本地hellowrld文件夹里面有个.git版本控制隐藏文件
添加1.txt文件并推送远程仓库
2、添加2.txt文件推送到远程仓库,再删除远程仓库2.txt
3、git rm 2.txt 删除直接到暂存区,并推送成功
4、万一不想删除2.txt,想通过版本回退方式撤销已经push到远程仓库的操作。需要加一个参数--force
先在本地执行版本回退:git log 查看版本记录
git reset --hard 5cf337 回到上个版本
黄色部分提示本地版本落后远程仓库版本
强制覆盖远程仓库的版本信息,使远程仓库也回到响应的版本:git push --force
本地查看git log也没有此版本后的版本信息了。
添加忽略文件不上传到远程仓库
1、在文件夹中直接添加a.png dd/dd1.txt tt/tt1.txt
2、通过git bash 添加.gitignore 文件,并将a.png 和dd/dd1.txt 添加到.gitignore中。查看状态就不会显示隐藏文件a.png 和dd/dd1.txt
3、git add . 命令将所有文件添加到暂存区(包括隐藏文件.gitignore,git add *不能),git push成功,隐藏的文件并没有上传
张三、李四同时 修改文件提交引起冲突,使用merge tools工具合并
1、李四克隆
2、张三克隆
3、李四修改1.txt,增加lisi,并git push成功
3、张三修改1.txt,增加zhangsan,并git push,出现报错
4、黄色中提示git pull下来,git pull下来提示Automatic merge failed自动合并失败,需手动去合并。
5、进入张三本地查看1.txt,发现文本变化
6、这时可以可以手动修改,也可以通过mergetool合并工具来修改(只能对纯文本)
命令行输入git mergetool
wq保存4次退出,在本地文件夹中多出一个1.txt.orig备份文件、备份修改之前的内容,可以删了也可以添加到.gitignore 中,然后git bash命令行中重新提交并推送
更详细git使用:https://www.cnblogs.com/smuxiaolei/p/7484678.html#top