引言
现在有这样一个使用场景:团队中的其他开发者提交了一个新的特性分支(如feature_1),要求我们一同开发,并将自己修改的代码也全部提交到这个分支上去。那么如何将这个分支检出,并将本地检出的分支与这个远程分支相关联从而使我们的代码能够push到这个分支上呢?
分支检出
对于引言中提到的问题解决办法非常简单,首先在本地Git Repositories视图中对项目进行Remote Fetch操作,这样才可以将其他开发者提交的新分支在本地进行追踪“Remote Tracking”。但是,追踪到的新分支不能直接check out(不是不可以,而是如果直接check out的话,任何本地做出的修改都无法被本地Git仓库托管,换句话说,直接Check out的这个分支仅仅是一个“镜像”分支,如果是只看不做修改的话,就可以直接Check out)因此,我们必须在本地新建一个分支,并检出这个刚刚追踪到的其他开发者提交的新分支到我们新建的分支上。
其实操作非常简单,只需要在Remote Tracking文件夹中,找到追踪到的新分支,右键Create Branch...即可:
这样,EGit会自动在本地Git仓库中新建一个同名的分支,并自动将切换到这个分支上。这个同名的本地分支已经与远程库中的分支自动关联,我们push的代码都可以被合并到远程的这个分支上。