2013-08-23 60 views
16

可以说,我已经创建了一个新的功能,以git flow feature start FEATURENAME为什么不“git flow feature pull”跟踪?

然后用git flow feature publish FEATURENAME

现在我的同事愿意与我这个特性合作出版的,所以他不

git flow feature pull FEATURENAME

这会根据远程回购中的功能分支在其本地回购中创建一个新分支。但是,这不会设置其本地功能分支来跟踪远程功能分支,所以现在他必须手动跟踪该分支。

这个额外步骤背后的原因是什么?为什么不让feature pull命令跟踪呢?

git flow feature pullgit flow feature track之间的工作流程区别是什么。

您会在哪些情况下使用这些情况?

+0

如果你的同事在''pull''''pull'''之前做'''git pull'',它会变得更加混乱。 – dashesy

+0

我想使用'''git-flow''',但我还需要理清如何执行*特性协作*部分,因此将为此设置赏金,希望能够获得更好的想法。 – dashesy

回答

14

听起来像你正在使用git flow feature pull,你应该使用git flow feature track,因为它确实创建了一个跟踪远程的本地分支。我不能真正想到为什么我会使用git flow feature pull。它创建了一个没有跟踪的本地分支,我不知道为什么这会有用!这也是一个不好的名字,因为拉应该涉及合并,而事实并非如此。

+3

拥有'git流功能[拉,跟踪,结账]''是相当混乱的。 – Drake

+0

当你已经跟踪一个分支并且想要获取和合并时,{{pull}}是否被使用? – acme

7

This answer通过brainimus示出了特性分支的协作方面,使用这有利于代码审查和讨论部分GitHub的拉入请求方面:

  1. 创建特征分支:git flow feature start module_1
  2. 的代码在功能分支上更新
  3. 随着更改提交,它们被推送到GitHub(或者如果优选的话,最后一次)
  4. 当该功能完成拉请求在GitHub上打开比较develop和特性分支module_1
  5. 小组审查拉入请求,使评论
  6. 从拉入请求的任何更改了功能分支的
  7. 一旦所有的变化都包含在特征分支的特征分支完成:git flow feature finish module_1
  8. develop分支被推向GitHub的(GitHub的将自动标记拉入请求为闭合/合并时发生这种情况)

这使得虽然关闭该分支的问题:

谁愿意冒 git flow feature finish module_1将有自己的本地特性分支的奢侈品被删除,但其他人谁签出的分支有,如果手动做到这一点

他们希望

我会建议git fetch --pruneespecially since Git 1.8.5 you can set that "prune" step in your config:一个简单的git获取将删除特性分支,如果它已经在服务器端删除(由别人做出git flow feature finish


gitflow feature track如果AVH edition只是检出和跟踪分支,那就是确保地方分支成为局部跟踪分支,与upstream branch(远程跟踪分支)与其关联。
也就是说,它设置了branch.<name>.remotebranch.<name>.merge

如果你做一个git flow feature pull(用于一个新的本地特性分支),但实际上意味着git flow feature track,所有你需要做的将是make your existing branch track the upstream one

git branch -u origin/feature 

一般:

  • 开始git flow feature track,
  • 然后您保持您的本地功能分支与保持同步
  • 你特性分支之间,git flow feature checkout

如上面所提到的 “Getting Started – Git-Flow” 切换:

git flow feature pull 

当不止一个人在一个功能一起工作这将完成。

git flow feature pull [alias] [featureName] 

使用这个命令,你会得到已由推的源代码:
您应按如下方式,如果你想要做遥控器上的功能分支拉使用此命令你的队友和他们的变化将自动合并到你的本地分支

如果有冲突,你会是不幸或幸运的做这些冲突的决议。

+0

还有任何使用官方git-flow或AVH版本的建议?
我最近和'''git pull''后面的功能分支混为一谈,并且想为我们的团队设置一些程序。 – dashesy

+0

@dashesy我详细介绍了'gitflow feature branch [pull,track,checkout]'之间的区别' – VonC

+1

@VonC这并没有真正解决人们为什么要'拉'而不是'track'的问题经验我已经得出结论,没有真正的理由做'拉')。你答案的第一部分与这个话题完全无关。关于第二部分 - 没有'gitflow feature push'命令。 – OpherV

相关问题