我尝试使用 Git 在命令行中合并文件,这时出现一条错误消息,告诉我合并已中止。
我以为事情就这样结束了,但后来我意识到我的文件中有 gitmarks。就像这样:
start =
expression
validchar =
[0-9a-zA-Z_?!+\-=@#$%^&*/.]
integer =
<<<<<<< HEAD
digits:[0-9]+
{ return digits.join(""); }
=======
sign:"-"* digits:[0-9]+
{ return sign + digits.join(""); }
>>>>>>> gh-pages
这些文件不是由我编辑的,并显示插入的行:
- 小于号后的 HEAD (
<<<<<<< HEAD
)
- 更改的代码行
- 一串等号 (
=======
)
- 新版本的代码
- 另一行以大于号和分支名称开头(
>>>>>>> gh-pages
)
更糟糕的是文件内容不再按顺序排列。有谁知道我如何使这些文件恢复正常,并将我在 gh 分支中所做的更改合并到 master 分支中?
那些是冲突标记 https://stackoverflow.com/questions/7901864/git-conflict-markers。您仍在合并过程中,但有一些部分 Git 无法自动合并。你会需要手动编辑这些部分 http://schacon.github.com/git/user-manual.html#resolving-a-merge达到您想要的效果,然后提交结果。
例如,在您的特定情况下,您可能希望像这样解决它(注意 - 右侧的箭头/文本只是我的注释,而不是您在文件中输入的内容):
integer =
<<<<<<< HEAD <-+ remove the bits here
digits:[0-9]+ |
{ return digits.join(""); } |
======= <-+
sign:"-"* digits:[0-9]+
{ return sign + digits.join(""); }
>>>>>>> gh-pages <-- and this
因此您可以将文件另存为...
integer =
sign:"-"* digits:[0-9]+
{ return sign + digits.join(""); }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)