2013-05-03 14 views
18

Używam Git i kiedy próbowałem pobrać nowszą gałąź rozwoju z moją bieżącą gałęzią przy użyciu menu kontroli źródła XCode, otrzymałem ten komunikat o błędzie:Operacja nie mogła zostać wykonana, ponieważ "PROJECTNAME" ma jeden lub więcej konfliktów drzewa

The operation could not be performed because "ProjectName" has one or more tree conflicts. 

Jak rozwiązać te konflikty drzewa? Dzięki

+0

duplikat? http: // stackoverflow.com/questions/14624209/xcode-git-nie można-pobrać-zmienić-z-zdalnego-repozytorium – 1615903

Odpowiedz

10

Występuje konflikt w pliku projektu, który należy pobrać za pomocą wiersza poleceń lub narzędzia GUI, takiego jak SourceTree (bezpłatny) i ręcznie rozwiązać konflikt w edytorze tekstu lub narzędziu do porównywania.

Zobacz także: How to use Git properly with XCode?

+3

Konflikty drzewa, które raporty Xcode nie są tym samym, co konflikty łączące się z plikiem. Zwykle podczas przeprowadzania scalania za pośrednictwem Xcode, ostrzega o konfliktach scalania i zapewnia interfejs do ich rozwiązywania. Jednak, gdy występują konflikty na drzewach, po prostu powiadamia o nich i nie ma możliwości ich rozwiązania. Zobacz odpowiedź z lynulzy poniżej, aby dowiedzieć się, jak naprawić konflikty drzew. –

8

miałem kłopoty z tym problemem. Zdarza się to często, gdy usuwam lub zmieniam projekt directory. Na przykład, kiedy przeniesię jeden katalog do innego istniejącego katalogu, oba katalogi są prawdziwymi folderami, ostrzeżenie będzie istnieć.

W rzeczywistości znaczenie tree conflict polega na tym, że poziom katalogu w repozytorium pracy nie jest taki sam, jak na serwerze.

To mój sposób, aby rozwiązać ten problem:

  1. sprawdzić, który katalog w lokalnym repozytorium prac różni się od repozytorium serwera.
  2. Jeśli lokalne repozytorium ma dodatkowy katalog Usuń (lokalny) -> aktualizuj -> OK, , jeśli lokalnemu repozytorium brakuje czegoś, a dodatkowe elementy na serwerze są zbędne, Usuń (serwer) -> aktualizuj. NOTE Po tym czasie konflikt drzewa już nie istnieje.

Nadzieja pomaga.

+1

To powinna być zaakceptowana odpowiedź. Konflikty drzew, o których mowa, nie są tym samym, co konflikty scalające w pliku. –

3

Miałem podobny problem. Otworzyłem więc okna terminala i zmieniono je na katalog, zweryfikowałem, że mój oddział był czysty z git status, zmieniony na master przy użyciu git checkout master i połączył mój oddział z git merge push-notifications. Szczegółowo objaśniono stronę Git Branching - Basic Branching and Merging.

0

Dla mnie ten błąd wystąpił, gdy Xcode wpadło w zakłopotanie, w której gałęzi projekt był aktualnie włączony. Rozwiązałem go, przełączając gałąź na master, a następnie ponownie na poprzednią gałąź. Tak więc najpierw spróbuj tej prostej poprawki.

0

Moja sytuacja. Scalenie gałęzi głównej z drobnymi zmianami w mojej obecnej wersji rozwojowej lub roboczej. I rozwiązać ten problem przez:

  1. Przenoszenie pliku w-rozwoju z konfliktem drzewa na moim pulpicie (tj z repozytorium kontrolowanego katalogu).
  2. Zaangażowanie w najbardziej rozwiniętą wersję.
  3. Ponownie wykonaj scalenie z wzorca do najnowszej wersji.
  4. Rozwiązane konflikty scalania rzeczywistego.
  5. Potwierdzono, że plik, który został scalony z głównego do gałęzi w rozwoju, był i jest poprawny.
Powiązane problemy