一、整个流程
使用git,主要目的是把本地代码上传到云端,然后根据自己的需求,将代码回滚到自己想要的某个版本。除此之外,它最大的优势其实是团队协作,一个项目需要很多人协作,同时有多份代码需要合并,这个时候服务器端下拉上传合并代码会相对方便。
二、SSH密钥
打开git bash,分别执行以下两句命令
git config --global user.name “用户名”
git config --global user.email “邮箱”
然后执行以下命令,生成公钥和私钥哦,将公钥放到git网站上
ssh-keygen -t rsa -C "[email protected]"
按回车,~/.ssh路径下会生成两个文件,一个私钥 id_rsa和一个公钥id_rsa.pub,打开后者并把欸容复制到git网站上
测试连接情况
ssh -T [email protected]
三、常用命令
1.从指定分支下载代码
分支名为branchName
git clone -b branchName https:://~.git
2.切换当前分支
git checkout branch
3.拉代码
git pull
4.上传代码
git add .
git commit -m "提交描述"
git push origin branch
最后一个指令为上传到指定分支,origin为远端名称,一般默认为此
5.查看本地与云端的区别
git diff <file>
6.查看提交日志
git log
7.查看状态
git status
8.删除分支
git branch -d branchName
四、用云端代码覆盖本地代码
1.将云端更新拉取到本地
git fetch --all
2.覆盖本地
撤销本地、暂存区、版本库 (用远程服务器的 origin/branch替换本地、暂存区、版本库)
git reset --hard origin/branch
五、云端更新本地某个文件
1.将云端拉取到本地
git fetch
2.更新本地指定文件
git checkout origin/branch path/to/file
六、回退到指定版本
如果当前代码修改出现错误,想要回退到历史某个版本,步骤如下
1.先查看历史修改版本
此时提交时候的备注就至关重要
git log
找到红框中的一串字符串,代表对应历史版本的代码
2.使用checkout切换到对应版本代码
git checkout 92b969214040761c34bfca362f59d20c6bfe6029
七、分支合并
1.两个分支修改不同文件,直接合并
如果两个分支master和branch分别给项目增加了a.txt和b.txt,然后分别各自push提交,希望把branch的修改合并到master分支上,此时先通过git checkout master切换分支,然后使用
git merge branch即可自动合并分支,只要修改的不是同一个文件,即可自动合并,合并后的master分支同时包含a.txt和b.txt
2.两个分支修改了同一个文件,手动解决冲突
如果master分支和branch分支同时修改了README.md文件,并且push提交后,如果此时进行merge合并操作,会提示如下错误,意思是提示进行手动解决冲突
可以通过git ls-files -s查看有冲突的文件
此时vim RESDME.md进入文件,可以看到如下内容
<<<<<<< HEAD
这两行符号中间的内容,代表本分支修改的内容,图中显示的是通过main分支修改
=======
这两行符号中间的内容,代表另一个分支修改的内容,对应上文提到的branch分支(图片中main分支即上文提到的master分支,new分支即上文提到的branch分支)
new
手动将那些符号删除,然后git add . 、git commit -m " " 、git push即可。
八、移除git add添加的文件
1.查看当前git add的状态
git status
2.移除误添加的file文件
git reset HEAD file
3.git commit -m "描述"提交后追加修改
git commit --amend
版权归原作者 aspiretop 所有, 如有侵权,请联系我们删除。