重命名文件以更改大小写,现在在提交时遇到冲突

时间:2015-01-22 16:30:27

标签: ruby git

当我开始拆分我的类时,我修改了一些文件名,但现在我收到了冲突错误。我该如何解决这个问题?

CONFLICT (rename/rename): Rename "Ruby_game.rb"->"game.rb" in branch "HEAD" rename "Ruby_game.rb"->"ruby_game.rb" in "bb755b75896b09a2113c4a6b2a5a60dcf7d3ea2a" Automatic merge failed; fix conflicts and then commit the result.

更新:我从操作系统上的目录中删除了ruby_game.rb文件,然后将其从Ruby_game.rb下的Sublime Text重新保存到目录中,然后执行了{{ 1}}。现在它不会因为“未合并的文件”而让我提交。

我已阅读其他相关帖子,但我处于如此基本的水平,任何微小的差异都会让我失望。请注意,这是我在这里的第一篇文章,我只是想了解格式和协议,所以如果我没有遵循最佳实践,请正确地以正确的方式推动我。

2 个答案:

答案 0 :(得分:1)

当Git说Automatic merge failed; fix conflicts and then commit the result.时,它意味着它占用了文件的两个版本的内容,将冲突放在文件中,并希望您浏览该文件并使其保持清洁。 / p>

我通常手工做。如果你在Sublime Text中打开文件,你(希望)会看到一个或多个这样的部分:

<<<<<<< HEAD
(some lines of content)
=======
(other lines of content)
>>>>>>> master

在最简单的(大多数手动)中,您需要编辑<<<<<<<>>>>>>>之间的内容才能正确 - 有时只是删除其中一个,有时合并代码 - 删除{{1} }和<<<<<<<行,保存文件,重新添加(>>>>>>>)然后提交。

hear键入git add myfile可能会为您提供更加性感的方式来执行此合并。既然您使用的是OS X(对吗?),它可能会为您提供用户友好的功能。

然而,如果失败了,我认为将起作用的是:

  1. 将您的文件(在操作系统或终端中)重命名为原始名称git mergetool
  2. 键入Ruby_game.rb,然后键入git reset HEAD Ruby_game.rb以放弃您所做的任何本地更改。
  3. 运行git checkout -f Ruby_game.rb
    • git-mv的文档。
    • git mv -f Ruby_game.rb ruby_game.rb命令不仅用于移动文件,还用于重命名文件。 (在操作系统级别,重命名和移动实际上是相同的。)
  4. 现在mv

答案 1 :(得分:0)

之前有人将该文件重命名为game.rb,现在您想将其命名为ruby_game.rb,因此存在合并冲突,请仔细检查该文件是否是您想要的名称并再次提交。那就是它。