У меня есть проект, который был запущен в TFS, а затем перенесен в Git. К сожалению, парень, который переместил его в Git, просто зарегистрировал текущие файлы вместо использования git-tfs. Я пытаюсь перебазировать его новые коммиты в Git поверх коммитов, которые я извлек из TFS, используя git-tfs.
Для этого я просто перебрасываю его коммиты поверх коммитов 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
, когда перезагружаюсь, Git по-прежнему показывает десятки подобных файлов, которые кажутся идентичными. Я не знаю, как решить эту проблему.