我正处于一个非常大的变种中,在我使用git rebase --continue.
时解决冲突
试图解决多个文件冲突的部分方法,我意识到我已经弄得一团糟了。在我开始解决冲突之前,有没有一种简单的方法可以回到变基的这个阶段?
显然,我不想使用git rebase --abort
并且失去了我花在修复其他冲突上的所有时间。
我发现了以下Stack Overflow问题,但可以采取一些更清晰的步骤:
How to rollback a single conflict resolution during git rebase
特别是-m
标志有什么作用? path/to/wrong
是我正在重新定位的分支的名称,我正在重新定位的分支或对特定提交的引用吗?
答案 0 :(得分:1)
要将单个文件重置为未合并的版本,请执行以下操作:
#!/bin/bash
for file in $(git show --pretty=format: --name-only 812b091)
do
git checkout --merge "$file"
done
如果您知道当前正在应用的提交的原始版本的提交哈希(如果没有,请查看reflog),您可以自动执行该提交中更改的所有文件的进程:
git-checkout
来自-m, --merge
手册页:
public class SimpleClass { public string MyString; } [Test] public void SerializesSimpleObject() { var simpleClass = new SimpleClass { MyString = "test" }; var serializer = new MySerializer(); Assert.AreEqual( @"<?xml version=""1.0"" encoding=""utf-16""?><SimpleClass xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""><MyString>test</MyString></SimpleClass>", serializer.Serialize(simpleClass)); }
[剪断]
从结构中检出路径时,此选项允许您在指定路径中重新创建冲突的合并。