2012-08-16 11 views
5

Za każdym razem, gdy robię pull, pojawia się konflikt scalania z mojego drugiego członka zespołu .. I próbowałem ręcznie usunąć ==== i >>>>, ale Xcode nigdy nie otworzy pliku po tym.Jak radzić sobie z konfliktami scalania w pliku Xcode "pbxproj"?

Jestem tylko ciekaw, czy to jest problem, że KAŻDY iOS osoby na okazje z zespołu? Czy istnieje jakaś wskazówka lub sztuczka, aby uniknąć tego nonsensu? To poważnie spowalnia moją produktywność o ogromną ilość.

+1

rozważyć dodanie narzędzia SCM używany, w każdym przypadku (Git SVN Inne?): Http://stackoverflow.com/questions/2004135/how-to-merge-conflicts-file-project-pbxproj -in-xcode-use-svn? rq = 1, http://stackoverflow.com/questions/7481563/xcode-project-file-pbxproj-how-to-handle-it-in-version-control?rq=1 –

+0

Wypróbuj opcję 'merge = union': https://twitter.com/zholmquist/status/172824285562408961 Działa ona dobrze dla wielu osób przez długi czas. Zobacz także http://stackoverflow.com/questions/2729109/should-i-merge-pbxproj-files-with-git-using-merge-union –

Odpowiedz

2

Potrzebujesz tylko dobrego narzędzia do scalania. Używam p4merge: http://www.andymcintosh.com/?p=33 zawiera przewodnik po integracji z Git.

+0

Używam tylko Hg, ale kdiff3 ogólnie mnie dobrze traktował .. więc może być czymś innym, na co warto zwrócić uwagę. Ponadto [ten (zamknięty) wpis] (http://stackoverflow.com/questions/96051/best-file-comparison-tool) zawiera dodatkowe sugestie dotyczące narzędzi scalania (nie wiem, które dotyczą OS X). –

1

tych dwóch może przejść długą drogę:

  • polegać na projekcie xcode mniej, tak że można zrekonstruować projekt dodając katalog rzeczy, a następnie zmusić go budować z minimalnymi zmianami. dobrym tego przykładem: zdefiniuj ustawienia kompilacji w xcconfigs.

  • uprość swoje projekty. kolizje zostaną zmniejszone, jeśli tworzysz oddzielne komponenty tego samego większego projektu.

+0

Czy możesz rozwinąć swój drugi punkt wypunktowania? –

+0

@MattH. Podstawowym punktem wyjścia jest podział projektów na odrębne komponenty. ktoś nowy w Xcode lub sw rozwoju może po prostu wszystko wsadzić w jeden cel. jednakże backend twojego programu może być lepszy w statycznym celu biblioteki, który jest skonfigurowany jako zależność twojej głównej aplikacji i należy do oddzielnego celu w osobnym projekcie xcode. wtedy możesz umieścić swoje testy jednostkowe w osobnych projektach - po prostu rozbijasz je na mniejsze części. Zderzenia są mniej prawdopodobne, ponieważ wtedy masz uporządkowany wykres wielu komponentów, a nie monolityczny projekt dla wszystkiego. – justin

Powiązane problemy