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