我是git的新手。我对git知之甚少,而且我在使用它时非常成功。
所以我有一个大师,开发分支。从开发我已扩展到功能分支和发布分支。为了从开发分支出来,我使用了以下命令。
jgitflow feature-start from develop
jgitflow:release-start from develop
现在我完成了这个功能,我想合并到开发中。我这是第一次这样做。现在我很困惑如何做到这一点。理想情况下,我应该使用以下命令:
jgitflow:feature-finish
我认为另一个选择是执行拉取请求。
请告诉我哪个是正确的选项以及如果在使用jgitflow:feature-finish
时发生冲突会发生什么
有关详细信息,请访问https://bitbucket.org/atlassian/jgit-flow/wiki/goals/feature-finish
根据您的要求使用必要的标志,如keepBranch,壁球。
您还应该将featureRebase用作true。这将在从您的案例中开发的原点合并之前重新定义要素分支。这将允许您以更好的方式处理冲突。
尝试完成功能时避免冲突的最简单方法是在执行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只能在本地分支上使用,因为它会更改历史记录。
关于拉动请求,请参阅Gitflow Workflow With Pull Requests
上的https://www.atlassian.com/git/tutorials/making-a-pull-request/how-it-works
拉取请求是必不可少的,因为它会检查更改。但是,如果从PR合并,您仍然可以运行jgitflow:feature-finish,尽管它会导致保留远程分支(如果之前被推送)。理想的方式是
要解决冲突,最好从本地开发而不是通过功能完成进行合并,因为它可能会变得混乱。