Git命令中,我个人感觉最重要的命令就是git checkout了。这个命令简单来说是Git的精髓–分支管理。当然对新手来说也是比较难以理解的概念之一。记得刚开始用git的时候,git checkout这个命令还是蛮令我困惑的。困惑之一就是远程分支和本地分支的管理上。比如怎么把远程不同于master分支的东西弄到本地,怎么在不同分支之间切换自如,利用分支的优势为自己开发所用等。

首先,git checkout一般和git branch配合使用。不过也可以直接git checkout -b,即“创建并切换分支”。

一般做改动,建议直接创建一个分支,因为在master上直接改动,万一搞乱了,虽然可以时光倒流,但是毕竟还是保持几个版本比较方便,新的特性也能方便的做对比。这个就是为什么git项目文件夹可能很大,但是进去文件夹发现没什么文件的原因。因为其它分支都被”隐藏”起来了嘛!

一般教程也就到这就结束了,其实还有很多常用的东西没讲。比如远程上面有个分支,我想弄到本地来。经常遇到的一个情况就是远程上面的某个分支有我需要的内容,我怎么获取到本地呢?

先看一下远程有哪些分支:

1
git branch -r

然后拉取远程分支,并创建本地分支:

1
git checkout -b <本地分支名> origin/<远程分支名>

如果想远程分支名和本地分支名一样,也可以用 --track 这个选项。

1
git checkout -t origin/<远程分支名>

以上当然也可以用git fetch来做,区别只是会先fetch到repository,然后手动切换到工作分支。

1
2
git fetch origin <远程分支名>:<本地分支名>
git checkout <本地分支名>

远程操作上可能会出现很多问题,比如什么merge conflict之类,新手可以打开gitk看看,还有tower神器。不过感觉还是要先了解命令行,才能更好的用这些图形化界面。有点鸡生蛋,蛋生鸡的味道。

参考链接: