Git flow分支已经分叉。

77

我正在使用git flow工具,但我遇到了一些问题。我的git分支已经分叉了。我阅读了master branch and 'origin/master' have diverged, how to 'undiverge' branches'?并尝试按照步骤进行,尝试合并和重新设置我的本地代码库。

    $  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上的特性,只想将我的更改提交到远程,谢谢!

7个回答

160
这里发生的是,远程已经接收更新,并且git-flow要求在将特性合并回去之前, developorigin/develop 必须处于相同的提交状态,以防止在发布分支时出现冲突。
为了解决这个问题,你需要:
  1. 将本地的developorigin同步:切换到develop并从origin拉取到developgit checkout develop && git pull origin

  2. git flow feature rebase showFindLogs将你的特性基于develop重新打基础。如果运气差的话,可能会遇到冲突。

  3. 检查它是否破坏了任何东西。

  4. git flow feature finish showFindLogs


2
git checkout develop && git pull origin 会创建一个 "Merging origin/develop into develop" 的提交信息,这不是我们想要的。在这种情况下,使用 git checkout develop && git rebase origin(又名 git pull --rebase origin)会更好。 - PeterB
1
@PeterB:确实是的,如果developorigin/develop分叉了,但这并不是常见情况。 - CharlesB
git pull origin 对我来说解决了问题。我在我的分支上执行了合并而不是变基。 - Steven Rogers
如果我的开发已经是最新的,但是当我尝试将功能/新分支进行rebase时,仍然出现了分歧状态,该怎么办?之前,我已经将功能/旧分支合并到开发中,但旧分支和新分支没有冲突... - norlin
在Intellij中:转到设置,搜索“对所有根执行分支操作”,然后取消选中此复选框。 - chill appreciator
显示剩余3条评论

9
确保您的develop分支没有落后于远程版本,您可能需要执行以下操作:
git checkout develop
git pull
git checkout release/x.x.x

继续发布流程


4

我只需要做以下几步:

  1. git checkout develop(检出develop分支)
  2. git pull origin develop(从远程仓库拉取develop分支最新代码)
  3. git checkout feature/your_feature_name(检出你的功能分支)
  4. git flow finish(完成功能并合并到develop分支)

2

0

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

git flow feature finish -F <name>

(文档)


0

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

git hf update

-2
为了解决这个问题,你可以使用我基于@childnode.de的git flow实现。
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接