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