Checkout

1 切换分支

查看当前分支

$ git branch/ git status

查看所有分支

$ git branch -a

切换分支

$ git checkout <分支名>

2 detached HEAD

若让HEAD指向一个commit id,就会变成detached HEAD,git checkout可达到这个效果;

$ git log
commit 62ed644...
commit 326e815...
commit 11ae892...
$ git checkout 11ae892...
Note: checking out '11ae892...'
You are in 'detached HEAD' state. ...
If you want to create a new branch to retain commits you need, you may do so (now or later) by using -b with the checkout command again.
HEAD is now at 11ae892... 

HEAD处于游离状态,此时进行commit操作不会提交到任何分支上;

恢复方法有二:

第一种:

$ git checkout 11ae892
$ git checkout master

第二种:

基于本次建立临时分支

$ git branch temp 11ae892

切换到工作分支并合并代码

$ git checkout master     # 切换到之前想要提交的分支上
$ git merge temp            # 将temp分支上的代码合并到master分支上

删除临时分支

$ git branch -d temp

3 撤销或丢弃编辑的内容

$ git checkout -- <文件名>

4 小技巧——创建并切换到新分支上

$ git checkout -b <新分支名>


你可能感兴趣的:(Checkout)