搞个代码的管理工具,居然不弄上分支啥的东西。这简直太low了。尤其是在使用了传说中得很牛X的Git的时候,尤其显得low。拿着青龙偃月刀当烧火棍子使,关公知道了还不重反人间教育你!?
远程分支
要说分支就一定要从分支产生的最遥远的历史谈起。这一切开始于你用clone命令从远端把代码库的代码拉取到本地开始。这个时候,git自动把这个远端代码库命名为origin并自动创建一个origin/master分支。相对的在本地创建一个叫做master的本地分支。这个时候这两个分支的指针都是指向一个地方的(不同的push发生的时候,master的指针就会发生变化)。
要创建一个远程分支是非常必要的。也非常的简单。只需要先创建一个本地分支。
git branch 分支名 //如 git branch develop
这只是创建了一个叫做develop的分支。如果要使用这个分支,还需要切换到这个分支上:
git checkout 分支名 // 如 git checkout develop
还有一个更快的方式创建分支,并直接切换到这个分支上:
git checkout -b 分支名 // git checkout -b develop
一个命令就把上面的两个命令干得事全部搞定了。
说了半天都是折腾在本地分支(local branch)了。没有离题。远程分支就是本地分支push到远端以后生成的。也就是前面我们折腾出来的develop分支只要push到远端服务器上就可以了。
git push origin 分支名 // git push origin develop
但是,你还需要给你建立起来的远端的和本地的分支设定一个直接的联系。这个时候就需要把你本地的分支变成一个tracking branch。Tracking branch就是一个和远端的分支有直接联系的本地分支。如果你在一个tracking branch里使用git pull命令,那么git自动检测到从哪个代码库获取代码和哪个分支执行merge操作。创建tracking branch:
git checkout --track origin/分支名 // git checkout --track origin/develop
整个的命令是:
git checkout -b [本地分支名] [远端代码库名称]/[分支名] //这时会创建一个本地分支名和远端分支名不一样的分支
上面的是一个简写的版本。
下面是要给谨慎使用的命令,删除远端分支。
$ git push origin --delete develop To https://github.com/xxx/xxxx.git - [deleted] develop
这个时候远端分支就被删除了。
<