1、切换分支
1.1基本
git checkout <branch>
切换分支
git checkout -b branch
新建分支并切换
相当于
git branch <newBranch >
git checkout <newBranch>
ps:
新建的本地分支是在当前分支的基础上拉取下来的 ,工作中,一般下载好工程,会自动创建master分支(现在github是main分支),其他远程分支可以通过git branch -a查看,然后git checkout ,切换到要开发分支。
1.2带参数
git checkout -b branch origin/newBranch
//一般情况下‘-b’后的branch要和origin/newBranch一致,当然不一致也可以,意思是将本地的branch和远程的newBranch绑定 如果两者一致直接就可以用git checkout 代替。
git branch newBranch origin/newBranch
//和上面不同的是只创建,不切过去
2、回退版本
经常过了好多天测试人员告诉提了个bug,说版本现在有个功能不能用了,两个月前测试好好的,但这个功能由你维护,搞了很久,也没能找到问题所在,这时间有个很笨也很有效的方法——版本回退。我经常二分法回退,基本几次就能找到在哪个版本出了问题,看是谁提交代码引起的bug。
此时,会切换到一个临时分支上去,和git reset --hard commit_id
有区别(以后写git reset回退版本时,再说明下)。
2.1回退到某一节点
git checkout [commit_id]
然后在这个节点重新编译版本,测试功能,这里是回退到某节点
2.2回退到某一节点的某一文件
git checkout [commit_id] <file>
2.3回退 本地修改未提交(git add)的文件
git checkout <file>
和2.2一样,只是这里默认节点为HEAD。
参考
https://git-scm.com/docs/git-checkout
关于更多代码回退,参考我写过的git reset代码回退,不同代码提交阶段应使用不同代码回退方式,代码回退更优雅。