2014-05-08 10 views
5

Mit Xcode 5.x und Git haben wir einen Commit für diese Datei durchgeführt: MyProjectName.xccheckout. Wir haben dieses Commit dann auf unser zentrales Repo übertragen. Wenn nun jemand anderes im Team einen Pull ausführt, erhalten wir den Fehler: "MyProjectName.xccheckout hatte einen Baumkonflikt.".xccheckout hatte einen Baumkonflikt

Es gibt mehrere Beiträge zu diesem Thema und scheint die richtige Sache zu tun, um diese Datei zu committen. Aber jetzt, wo wir das getan haben, wie gehen wir mit dem Konflikt um?

Dieser Beitrag Should *.xccheckout files in Xcode5 be ignored under VCS? behandelt das gleiche Problem, aber nicht sehen, wie sie den Konflikt gelöst haben.

  • Update: Ich fusionierte die Änderungen manuell vom zentralen Repo auf meine lokale Kopie, dann versucht, die Pull wieder zu tun, sondern bekam den gleichen Fehler. Ich habe auch bemerkt, dass die Werte in dieser Datei von Zeit zu Zeit geändert werden, aber nicht sicher, was das verursacht.

  • Update: Hier ist ein Beispiel für den Wert, der in der Datei zu ändern ist:
    IDESourceControlProjectIdentifier
    3869BFC7-FD51-432F-A70B-CE2ADC0CDF1F

+1

"Baum Konflikt" klingt wie 'svn' und nicht' git' ... – trojanfoe

+1

nicht svn, mit git und bitbucket – timonroe

Antwort

4

Haben Sie versuchen, diese Datei von git zu entfernen, indem

rm YourProjectName.xcodeproj/project.xcworkspace/xcshareddata/YourProjectName.xccheckout 

Der nächste Schritt ist zu begehen

git commit -m "remove YourProjectName.xccheckout" 

Drücken Sie erneut auf die Maschine, auf der diese Datei zuerst verfolgt wurde.

Diese Aktion löscht .xccheckout aus Repo und andere Teammitglieder können ziehen.

+0

Wir hatten bereits die Datei aus dem Repo entfernt. Basierend auf anderen Threads, die mit diesem Thema zu tun haben, fragen wir uns immer noch, ob wir versuchen sollten, diese Datei unter Quellcodeverwaltung zu behalten. Finden Sie immer noch keinen Weg um den 'Baumkonflikt' Fehler. – timonroe

+0

Das hat bei mir funktioniert. Löschen/checken Sie einfach neue Zweige (stellen Sie sicher, dass keine Zusammenführung läuft) und löschen Sie dann die entsprechende xccheckout-Datei, commit, führen Sie die Zusammenführung durch und es funktioniert gut. –

+1

ist es nicht "git rm", nicht "rm"? –