Git总结
1、下载代码
下载所有分支代码:git clone xxxx
下载特定分支代码: git clone -b {branch} xxxx
2、查看所有远端分支
git branch -r
更新远端分支列表:
git remote update origin --prune
3、创建CDM分支所对应的本地分支,并切到该分支
git checkout -b develop origin/CDM
4、在develop分支下,提交代码到CDM分支
git add .
git commit -m "comment"
git push origin develop:CDM
5、提交代码后更新本地分支:
git checkout CDM
git pull
git checkout develop
git merge CDM
6、Push到远端分支后,发现有错误,需要回退:
git log
git reset --hard HEAD (加上--hard参数,会把已经修改过的文件清理掉,谨慎使用,不加的话就会回退到执行git add前的状态)
git push --force origin tengxiong
7、执行git add后,发现多添加了文件,需要回退:
git status 先看一下add 中的文件
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了
git rm --cached XXX 也可以撤销某个文件
8、Commit后回退:
git log
git reset ID (执行commit的上一条的ID)
git reset --hard ID (加上--hard参数,会把已经修改过的文件清理掉,谨慎使用,不加的话就会回退到执行git add前的状态)
执行过git reset --hard后,如果想和远端代码保持一致,就再执行 git pull
9、解决冲突:
codeclub在提交merge Request的时候,提示merge冲突。有时可以在codeclub上直接解决冲突,那么这种就可以直接解决完冲突后,后面再补提一次覆盖掉的别人的代码。昨天我提交代码的时候,就遇到了codeclub不能解决的冲突,回顾一下流程:
(1)我先在我个人分支上按照 add -> commit -> push 的顺序,然后在codeclub上准备merge到develop分支的时候,报了冲突,但是codeclub提示我只能在本地解决改冲突;
(2)本地解决冲突:在git bash中操作(当前在我个人分支dev_test下):
git checkout develop -> git pull -> git checkout dev_test -> git merge develop,然后报了冲突,处于 dev_test|MERGING 状态,这时在 Intelij 里可以看到这个冲突文件的状态,右键 git -> resolve conflict,然后考虑用yours还是用theirs来作为解决完冲突后的代码。
(3)然后解决完冲突后,回到命令行执行: git commit -m "conflict fixed" -> git push origin dev_test,然后在codeclub上提交merge Request,就会发现冲突已经解决了。
10、git stash命令使用:
在写代码的时候,有时会需要暂存代码的修改,这时可以使用git stash命令来将代码的修改进行保存。
git stash : 保存修改,并压栈
git stash list : 查看stash列表
git stash clear : 清理stash列表
git stash pop :还原暂存的stash
git stash show -p : 查看stash中的修改
- 点赞
- 收藏
- 关注作者
评论(0)