得到一个文件,它有两个感兴趣的提交,都在Master分支上,都只修改一个文件foo:先前的提交AA,以及当前的版本HEAD.我想合并的文件的两个版本,保留两个位,为HEAD上Master.
我做了一件我觉得最简单的事情:
git checkout -b merge-purgatory AA
git commit -m "pulled foo back from previous commit for merging into HEAD."
git checkout master
git merge merge-purgatory
Run Code Online (Sandbox Code Playgroud)
它只是会覆盖当前HEAD的版本foo与AA版本.尝试更详细git checkout -m,同样的结果:愚蠢的覆盖.
如何强制git将AA版本foo视为与当前HEAD版本冲突的合并?
Mar*_*air 17
如果git的合并没有做你想要的,你可以改为:
foo,例如确保git status清洁.foo使用以下版本覆盖AA:git show AA:foo > foofoo您的需要进行更改:git add -p foofoo与git checkout -- foogit commit或者,如果您更喜欢使用图形差异工具(例如meld),您可以这样做:
git show AA:foo > old-foo
meld old-foo foo
Run Code Online (Sandbox Code Playgroud)
我使用以下方法摆脱它:
git checkout -f b855a13754fabf5cef6ff93ab00558608a839377 -- .
这将提交 id 的更改强制到我当前的分支(master)中,然后我checkout -b根据这些应用的更改创建了一个新分支 ( ),并从后者创建了一个合并请求。
以上都不适合我:-(
| 归档时间: |
|
| 查看次数: |
22801 次 |
| 最近记录: |