jgitflow和pull请求

时间:2016-06-16 11:04:25

标签: maven-release-plugin jgit jgitflow-maven-plugin

我是git的新手。我对git知之甚少,而且我在使用它时非常成功。

所以我有一个大师,开发分支。从开发我已扩展到功能分支和发布分支。为了从开发中分支出来,我使用了以下命令。

jgitflow feature-start from develop
jgitflow:release-start from develop

现在我完成了该功能,我想合并到开发中。我这是第一次这样做。现在我很困惑如何做到这一点。理想情况下,我应该使用以下命令:

jgitflow:feature-finish

我认为另一个选项是执行拉取请求。

请告诉我哪个是正确的选项以及如果在使用jgitflow:feature-finish时发生冲突会发生什么

3 个答案:

答案 0 :(得分:0)

详情请见https://bitbucket.org/atlassian/jgit-flow/wiki/goals/feature-finish

根据您的要求使用必要的标志,如keepBranch,壁球。

您还应该将featureRebase用作true。这将在从您的案例中开发的原点合并之前重新定义要素分支。这将允许您以更好的方式处理冲突。

答案 1 :(得分:0)

尝试完成功能时避免冲突的最简单方法是在执行finish-feature之前遵循以下工作流程

  • git fetch:确保您的本地仓库副本是最新的
  • git checkout develop:转到develop
  • git merge origin/develop:确保您的本地开发是最新的(此处origin是遥控器的名称)
  • git checkout <feature-branch>:再次转到功能分支
  • git merge develop:合并并解决冲突(如果有)(在您的功能分支上)
  • mvn jgitflow:feature-finish你已经解决了冲突,所以这将有效

我会推荐另一个答案中提到的featureRebase选项,因为你说你只知道一些关于Git的基本知识。如果您推动了本地功能分支并且其他人正在处理它,则Rebase会使事情变得复杂 Rebase只能在本地分支机构上使用,因为它会改变历史记录。

关于提取请求,请参阅https://www.atlassian.com/git/tutorials/making-a-pull-request/how-it-works

上的Gitflow Workflow With Pull Requests

答案 2 :(得分:0)

拉取请求至关重要,因为它会审核更改。但是,如果从PR合并,则仍然可以运行jgitflow:feature-finish,尽管它将导致保留远程分支(如果之前已推送)。 理想的方法是

  • 提高此功能的PR,获得批准。
  • 运行feature-finish命令以合并更改以开发和清理本地 和远程功能分支。

要解决冲突,始终最好从本地进行开发,而不是通过特征完成进行合并,因为这样可能会变得混乱。