Git不会让我合并

Mic*_*rgl 4 git merge git-merge branching-and-merging

晚上好!

我知道这很常见,互联网上可能有成千上万的答案,但我找不到一个很好的答案.

我有两个本地分支机构:

  • MK

我对Mk进行了很多更改,提交了这些更改,并切换到MASTER以合并这两个分支.但是有冲突.所以现在我在MASTER分支上,不能再切换到Mk了,但需要用Mk覆盖我的MASTER.

它一直在说

错误:合并将覆盖对以下文件的本地更改

有没有办法做到这一点?

 git mergetool --tool=meld    #No files need merging
 git merge -s theirs Mk       #Could not find merge strategy 'theirs'.
 git merge -X recursive=theirs Mk   # error: Your local changes to the following files 
Run Code Online (Sandbox Code Playgroud)

将被合并覆盖

我还没有将我的更改推送到我的在线存储库.

我可以看到提交所有更改但无法访问其代码.

刚刚开始使用git,但从未像以前那样遇到麻烦.我真的很感激我能得到的任何帮助:s

Von*_*onC 8

由于没有--theirs策略(即使有方法可以模拟它),你不能:

  • 将第一个master合并到mk: git checkout mk && git merge -s ours master
  • 合并mk到掌握(快进): git checkout master && git merge mk

-s ours策略将确保您mk在发生冲突时保留版本.

  • @steve但它*不是*合并策略:'`ours`'和'`theirs`'被列为''recursive`'合并策略的**参数**.需要注意的是:"这不应该与'我们的'合并策略相混淆,后者甚至不会看到其他树包含的内容.它会丢弃其他树所做的一切,宣告我们的历史包含其中发生的所有事情" .确实存在一个单独的"我们的"合并策略.但据我所知,没有"他们的"合并战略. (3认同)
  • @MichaelKargl如果你有本地变化,先将它们藏起来(git stash:http://git-scm.com/docs/git-stash) (2认同)

小智 5

请确保,您使用的是 MASTER 的干净工作副本。

git merge -s recursive -X theirs Mk
Run Code Online (Sandbox Code Playgroud)