一、背景
在新项目中,我们通过git clone远程的项目,此时我们查看本地分支,会发现本地只有一个master分支。但是我们可能需要在其他的分支,例如test分支上面开发,那么如果切换到test分支呢?
二、方法
1、查看所有的分支
git branch //查看本地分支
git branch -a //查看所有的分支
通过查看所有的分支,我们能够看到远程的test分支。
2、git 的跟踪分支
从远程分支 checkout 出来的本地分支,称为跟踪分支(tracking branch)。跟踪分支是一种和远程分支有直接联系的本地分支。在跟踪分支里输入Git push,Git 会自行推断应该向哪个服务器的哪个分支推送数据。反过来,在这些分支里运行git pull 会获取所有远程索引,并把它们的数据都合并到本地分支中来。
在克隆仓库时,Git 通常会自动创建一个名为 master 的分支来跟踪 origin/master。这正是git push 和 git pull 一开始就能正常工作的原因。当然,你可以随心所欲地设定为其它跟踪分支,比如origin 上除了 master 之外的其它分支。
3、本地直接checkout 切换到test分支
根据以上的概念,我们可以知道,虽然我们本地只显示一个master分支,但实际上我们和远程仓库的其他分支已经联系起来了。此时直接执行切换分支命令:
git checkout test //直接执行切换分支命令
git branch //此时再查看本地分支,我们会发现已经有了test分支了
4、本地开发,应在自己本地新建个分支
此处是刚才一个同事告诉我的,觉得这种观念挺好的,至少在多人开发中,安全性和稳定性提升了不小。我们在自己本地新建个分支,然后关联到test分支即可。这样的话,我们本地可以尽情的操作而不用担心影响到远程
git checkout -b ljf --track origin/test //新建分支名称为 ljf,并且关联到test分支
此时我们在 ljf 分支上进行的操作,可以通过git pull ,git push等直接推送到远程的test分支。
end