1

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

所以我有一个master,develop分支。从开发我已经分支到一个特性分支和一个发布分支。为了从开发分支出来,我使用了以下命令。

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

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

jgitflow:feature-finish

我相信的另一个选择是做一个拉取请求。

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

4

3 回答 3

0

拉取请求是必不可少的,因为它将审查更改。但是,如果您从 PR 合并,您仍然可以运行 jgitflow:feature-finish,尽管它会导致保留远程分支(如果之前推送)。理想的方式是

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

为了解决冲突,最好从本地开发而不是通过功能完成合并,因为它可能会变得混乱。

于 2019-02-25T23:54:57.790 回答
-1

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

  • git fetch:确保您的本地 repo 副本是最新的
  • 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

于 2016-08-19T10:28:48.730 回答
-1

有关详细信息,请访问https://bitbucket.org/atlassian/jgit-flow/wiki/goals/feature-finish

根据您的要求使用必要的标志,如keepBranch、squash。

您还应该使用 featureRebase 作为 true。这将在从您的案例中开发的原点合并之前重新设置功能分支。这将使您能够以更好的方式处理冲突。

于 2016-06-16T12:07:13.863 回答