Ich habe ein Projekt, das in TFS gestartet wurde, dann nach Git verschoben. Leider hat der Typ, der es nach Git verschoben hat, einfach die aktuellen Dateien eingecheckt, anstatt git-tfs zu benutzen. Ich versuche, seine neuen Commits in Git zusätzlich zu den Commits, die ich aus TFS mit git-tfs gezogen habe, neu zu setzen.Warum zeigt Git einen Konflikt zwischen zwei scheinbar identischen hinzugefügten Dateien?
Um dies zu tun, bin ich einfach seine Commits auf die Git-TFS-Commits neu zu rebasing. (Ich weiß, das wird entfernte Git Zweige, aber wir sind ein kleines Team und es wird in Ordnung sein. Ich habe auch versucht Rosinenpicking statt, aber ich habe das gleiche Problem.)
Das Problem, das ich ' m läuft in einer Reihe von Konflikten, die wie folgt aussehen:
<<<<<<< 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.
Es scheint, dass dies ein Konflikt zwischen einem von der TFS Seite verpflichten, die diese Dateien und eine Festschreibung auf der Git Seite hinzugefügt, die sie hinzugefügt (wie der Git Repo leer anfing).
Die logische Sache wäre vielleicht, dieses Commit zu überspringen, aber es gibt ein paar Dateien (sagen wir zehn von ein paar hundert), die neu sind. Diese verursachen natürlich keine Konflikte.
Warum kann Git nicht selbst herausfinden, dass die beiden Dateien identisch sind? Auch wenn ich beim Rebase --ignore-whitespace
verwende, zeigt Git immer noch Dutzende solcher Dateien, die identisch zu sein scheinen. Ich weiß nicht, wie ich das lösen soll.
Gibt 'diff' Ihnen auch einen Unterschied? – Reactormonk
Könnte es Unterschiede zwischen den Zeilenenden geben? – ebneter
Trailing whitespaces vielleicht –