我是git的新手。我对git知之甚少,而且我在使用它时非常成功。
所以我有一个大师,开发分支。从开发我已扩展到功能分支和发布分支。为了从开发中分支出来,我使用了以下命令。
jgitflow feature-start from develop
jgitflow:release-start from develop
现在我完成了该功能,我想合并到开发中。我这是第一次这样做。现在我很困惑如何做到这一点。理想情况下,我应该使用以下命令:
jgitflow:feature-finish
我认为另一个选项是执行拉取请求。
请告诉我哪个是正确的选项以及如果在使用jgitflow:feature-finish
时发生冲突会发生什么
答案 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,尽管它将导致保留远程分支(如果之前已推送)。 理想的方法是
要解决冲突,始终最好从本地进行开发,而不是通过特征完成进行合并,因为这样可能会变得混乱。