使用TortoiseGit对Git版本进行分支操作
版本克隆分支问题
TortoiseGit在克隆分支的时候,默认克隆master分支,克隆后本地工作目录为中心器的Master分支.
克隆后本地分支
中心库分支
Push分支到中心服务器(Pushing the local branch to a new remote branch)
Git在本地创建分支后,如果我们需要和团队其他成员做代码交流时就需要将本地分支上传到中心服务器。
TortoiseGit在将一个新分支上传到中心服务器时,首先在中心服务器创建一个新的分支,然后再将本地分支上面的修改push到远程新创建的分支上面.
在Push新分支到中心服务器上时,通过在本地服务器执行PUSH操作,在PUSH对话框里保持远程分支为空白,则在PUSH的时候远程服务器发现远程没有该分支,此时会自动创建一个和本地分支名称一样的分支,并将本地分支的内容上传到该分支.
如果再次PUSH本地分支内容到中心服务器的时候,此时在TortoiseGit的PUSH对话框保持远程分支为空白的时候,中心服务器会首先查看远程是包含与本地分支同名分支,有则直接将本地版本上传到该分支.
获取远程分支(Fetching the remote branch)
有时候我们想要从远程服务器Fetch获取最新上传的新分支,有人可能会想可通过先在本地生成一个新分支,然后再pull远程我们想要的分支到我们在本地刚刚新建的分支上。通过pull方式实际上是,先在本地生成分支再通过pull方式将远程分支合并到本地生成的分支上.
我们或许还可以有另外一种方式:本地生成一个基于远程分支的分支,也可以达到同样效果,而且更方便。
注意,勾选“Base on“时,新建分支默认与远程分支同名,所以为了避免混淆,尽量保持本地分支与远程分支名称一致,即可
在生成新分支时勾选”Switch to new branch“,将在生成新分支之后直接将当前工作目录转换到新建分支上
分区合并(Merging Branch)
完成某分支工作后,将会考虑将该分支上的工作合并到主分支上面,这时我们将进行分支合并操作.
进行分支合并之前我们需要明确哪个分支将要合并到哪个分支,首先要“CheckOut/Switch”到将要合并到的分支(如master分支),然后通过“Merge”菜单打开分支合并对话框,选择需要合并的分支。
分支合并成功后,我们即可以通过PUSH操作将合并上传到中心服务器。
删除本地/远程分支(Deleting the local/remote branch)
当我们将分支合并到主分支,或者放弃该分支的时候,可以对分支进行删除操作.
在TortoiseGit上进行分支删除操作非常简单,首先打开“CheckOut/Switch”对话框,通过“Switch to 》Branch”更多按钮打开分支列表,或者通过菜单“Browser References”打开分支列表(默认该菜单是隐藏的).选择相应的分支,单击右键,选择删除.
注意,在删除远程分支的时候,本地分支并不会删除,这也说明了本地分支与远程分支并无从属关系。
参考资料:
http://git-scm.com
http://joelabrahamsson.com/entry/remote-branches-with-tortoisegit