75

我正在使用 git flow 工具,但我遇到了一些问题。我的 git 分支已经发散了。我读过master 分支和“origin/master”已经分歧,如何“取消分歧”分支?并尝试按照这些步骤尝试合并和重新设置我的本地存储库。

    $  git flow feature finish showFindLogs
    Branches 'develop' and 'origin/develop' have diverged.
    And branch 'develop' may be fast-forwarded.
    $  git merge origin/develop
    Already up-to-date.
    $ git rebase origin/develop
    Current branch feature/showFindLogs is up to date.
    $ git status
    # On branch feature/showFindLogs
    nothing to commit (working directory clean)

我怎样才能摆脱这种情况?我已经完成了 git flow 功能,我只想将我的更改发送到远程。谢谢!

4

7 回答 7

153

这里发生的情况是远程已收到更新,git-flow 要求它developorigin/develop在合并回功能之前处于相同的提交状态。这是为了防止发布分支时出现严重的冲突。

要解决此问题,您需要:

  1. 将您的本地同步developorigin:结帐develop,然后origin拉到develop( git checkout develop && git pull origin)

  2. 将您的功能重新设置在developwith上git flow feature rebase showFindLogs。如果你运气不好,你可能会在这里发生冲突

  3. 检查它是否不会破坏任何东西

  4. git flow feature finish showFindLogs

于 2012-04-17T21:13:37.803 回答
8

确保您的develop分支不落后于原点,也许您需要执行

git checkout develop

git pull

git checkout release/x.x.x

并继续发布过程

于 2016-05-31T18:37:43.150 回答
2

您可能还想((只要它不受官方支持)补丁和)使用我的

git-flow feature finish -p选项

https://github.com/nvie/gitflow/pull/253

于 2012-09-06T07:50:42.900 回答
2

我所要做的就是:

  1. git checkout develop
  2. git pull origin develop
  3. git checkout feature/your_feature_name
  4. git flow finish
于 2021-03-20T10:16:25.207 回答
0

您可以使用以下命令在完成功能之前从 $ORIGIN 获取:

git flow feature finish -F <name>

文档

于 2015-07-07T08:42:03.380 回答
0

对于使用谷歌搜索此错误并使用Hub-Flow 的人 - 只需执行以下操作:

git hf update
于 2016-06-29T16:23:08.423 回答
-2

为了解决这个问题,你可以使用我的 git flow 实现,基于@childno͡.de 解决方案。

git flow feature/hotfix/release/bugfix  -e finish <name>

要在控制台中安装 git flow 执行:

git clone https://github.com/wyhasany/gitflow-avh/;cd gitflow-avh/;git checkout feature/force_merge;git pull;sudo make install
于 2017-01-17T19:09:53.957 回答