2014-12-21 8 views
9

Mein Hauptzweig hat einige Dateien, die verschiedene Codes aus der gleichen Datei des Entwicklungszweigs haben. Der Entwicklungszweig ist derjenige, der die korrekte Version dieser Dateien hat, aber wenn ich versuche, ihn mit dem Hauptzweig (Ziel) zu verbinden; Ich erhalte eine NachrichtEntwicklungszweig zu Haupt zusammenführen: Es gab keine Änderungen zum Zusammenführen

Es gab keine Veränderungen sagen, zu fusionieren

Wie kann ich dieses Problem beheben, so dass der Hauptzweig die richtige Version dieser Dateien hat?

+0

Siehe auch unter Verwendung erfolgen: http://stackoverflow.com/q/6190739/736079 – jessehouwing

Antwort

10

Beim Zusammenführen von Dateien untersucht TFS nicht nur die Unterschiede zwischen den beiden Zweigen, sondern verfolgt auch, ob Sie diese Änderungen bei einem früheren Zusammenführungsversuch ignoriert haben. Beim Zusammenführen TFS Sie 3 Möglichkeiten bietet, wenn es Konflikte:

  1. Merge
  2. Halten Quelle
  3. Ziel halten

Wenn Sie Halten Ziel wählen oder wenn Sie manuell zusammenführen und bestimmte deaktivieren Änderungen, markiert TFS diese Änderungen als "gelöst" und bietet sie nicht erneut an, wenn Sie versuchen, in der Zukunft zu fusionieren. Dies wird als "Zusammenführungskredit" bezeichnet.

Sie können diese Probleme auch mithilfe der Befehlszeile erstellen, wenn Sie tf merge /discard verwenden. Dadurch wird TFS angewiesen, die Änderungen in diesen Dateien/Changesets zu ignorieren, wenn Zusammenführungen in Betracht gezogen werden.

Es gibt zwei Möglichkeiten TFS zu zwingen, diese Änderungen zu überdenken:

  1. Verwenden Kraft verschmelzen. Auf der Befehlszeile können Sie eine Zusammenführung initiieren, bei der TFS die Datensätze vorübergehend ignoriert und Ihnen jede andere Datei zum Zusammenführen anbietet. Dies kann eine Menge Arbeit sein, aber wenn Sie fertig sind, wird Ihr Merge-Verlauf wieder in Form gebracht. Um eine Zusammenführung zu erzwingen, führen Sie tf merge $/Source/Folder/File $/Target/Folder/File /force aus Dies wird mit ziemlicher Sicherheit einen Zusammenführungskonflikt auslösen, den Sie beheben können, um die richtigen Änderungen im Zielzweig zu erhalten.

  2. Die vorherige Zusammenführung mit Rollback rückgängig machen. Wenn Sie kürzlich die Zusammenführung durchgeführt haben, in der Changesets verworfen wurden. Finden Sie es in der Geschichte, klicken Sie mit der rechten Maustaste auf den Änderungssatz und wählen Sie Rollback und checken Sie den Code ein, der rückgängig gemacht wurde. Dies wird tatsächlich alle Änderungen in diesem Änderungssatz entfernen und setzt die "Zusammenführungs-Kredite" zurück. Sobald dies geschehen ist, können Sie die Zusammenführung wiederholen und dieses Mal richtig machen. Dies kann auch von der Kommandozeile tf rollback

+1

Ich habe versucht, rückgängig zu machen, aber ich erhalte eine Nachricht von Fehlermeldung, dass meine Datei nicht kompatibel ist pending change – aidonsnous

+1

Zuerst machen Sie eine rückgängig anstehende Änderungen (oder legen Sie Ihre bestehenden Änderungen) – jessehouwing

+0

Wenn Sie einen Moment haben Jesse - http://StackOverflow.com/questions/33003274/revoking-tfs-merge-credits – RobVious