git flow分支分歧


71

我正在使用git flow工具,但遇到一些问题。我的git分支分歧了。我已经读过master分支,并且“ origin / master”已经分开,如何“ un分歧”分支?并尝试按照以下步骤进行操作,即尝试合并并重新建立本地存储库。

    $  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功能,并且只想将更改发布到远程。谢谢!

Answers:


143

这里发生的是,遥控器已收到更新,和git-流量要求develop,并origin/develop为在合并回功能之前同样提交。这是为了防止发布分支时发生严重冲突。

要解决此问题,您需要:

  1. develop与您的本地同步origin:结帐develop,然后从origin移至developgit checkout develop && git pull origin

  2. 变基上的功能developgit flow feature rebase showFindLogs。不幸的话,这里可能有冲突

  3. 检查它没有破坏任何东西

  4. git flow feature finish showFindLogs


2
是否不会git checkout develop && git pull origin创建“将源/从开发合并到开发中”的提交消息?不会git checkout develop && git rebase origin(又名git pull --rebase origin)在这种情况下更好?
PeterB 2012年

1
@PeterB:确实是这样,如果developorigin/develop有分歧,但它不是一个常见的情况
CharlesB

git pull的起源对我来说是固定的。我没有合并到分支,而是合并到了我的分支。
史蒂芬·罗杰斯

如果我的开发已经是最新的,但是当我尝试重新设置功能时,我仍然对feature / new分支有分歧的状态怎么办?以前,我已经将功能部件/旧分支合并到开发中,但是新旧分支没有冲突...
norlin

@norlin您是否以功能分支为基础develop
CharlesB



0

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

git flow feature finish -F <name>

docs


0

对于任何使用此错误并使用Hub-Flow的用户,请执行以下操作:

git hf update

-1

为了解决该问题,您可以使用基于@childno͡.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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.