我有一个在 TFS 中启动的项目,然后转移到 Git。不幸的是,将它移至 Git 的人只是签入了当前文件,而不是使用 git-tfs。我试图在我使用 git-tfs 从 TFS 提取的提交之上重新调整他在 Git 中的新提交。
为此,我只是将他的提交重新设置在 git-tfs 提交之上。(我意识到这会弄乱远程 Git 分支,但我们是一个小团队,没关系。我也尝试过樱桃采摘,但我遇到了同样的问题。)
我遇到的问题是一组看起来像这样的冲突:
<<<<<<< HEAD
namespace OurNiftyProject
{
public enum CardType
{
Visa = 0,
MasterCard = 1
}
}
||||||| merged common ancestors
=======
namespace OurNiftyProject
{
public enum CardType
{
Visa = 0,
MasterCard = 1
}
}
>>>>>>> Add a bunch of stuff.
看来这是添加这些文件的 TFS 端的提交与添加它们的 Git 端的提交之间的冲突(因为 Git 存储库一开始是空的)。
合乎逻辑的事情可能是跳过这个提交,但是其中有几个文件(比如说几百个中有十个)是新的。当然,这些不会引起冲突。
为什么 Git 不能自己弄清楚这两个文件是相同的?即使我--ignore-whitespace
在 rebase 时使用,Git 仍然会显示数十个类似的文件,这些文件似乎是相同的。我不知道如何解决这个问题。