Xcode 4, git и объединение файлов проекта! - PullRequest
3 голосов
/ 15 марта 2011

У меня проблема! Мы работаем над iPhone-приложением и используем git. Проблема в том, что если кто-то что-то меняет в проекте (добавляет файл и т. Д.) И я пытаюсь вытащить это изменение, я должен слить его. Но слияние не является безболезненным, я часто получаю поврежденный файл проекта, и мне приходится тратить довольно много времени, чтобы просто это исправить.

У кого-нибудь есть решение этой проблемы?

(извините за мой дерьмовый английский)

Ответы [ 2 ]

4 голосов
/ 15 марта 2011

Файлы проекта печально известны своими конфликтами. Я бы включил функцию rerere (расшифровывается как «Повторно использовать записанное разрешение»), чтобы при необходимости повторного разрешения конфликтов вы могли по крайней мере кэшировать свои решения по сравнению с предыдущим их выполнением. Отличная реферат находится здесь: http://progit.org/2010/03/08/rerere.html

Если у вас есть склонность, лучше рассмотреть расширенную тему написания настраиваемого драйвера слияния. См. «Определение пользовательского драйвера слияния» в http://git -scm.com / docs / gitattributes

Надеюсь, это поможет.

1 голос
/ 15 марта 2011

Три важных шага:

  • Заставить git игнорировать все в файле проекта, кроме файла project.pbxproj в папке .xcodeproj - используйте для этого .gitignore.
  • перед тем, как вы вытянете измененный .pbxproj, закройте ваш проект. Одна из самых больших проблем, с которой вы сталкиваетесь, заключается в том, что если вы получаете новую версию, когда у Xcode открыт файл проекта, он может просто сохранить свою «текущую» версию поверх той, которую вы хотите изменить.
  • слияния иногда приводят к тому, что в файл проекта включаются ложные данные, такие как ">>>> YOURS" или ">>>> THEIRS". Если вам нужно объединить, сделайте это вручную с помощью инструмента, подобного filemerge, где вы можете проверить каждое изменение и выбрать, включать его или нет.

Если все это не удалось и вы все равно получили поврежденный файл проекта

  • принять версию, представленную кем-то другим, и повторить ваши собственные изменения, это почти всегда проще, и ошибки ссылок напомнят вам достаточно скоро.
  • узнать значение частых коммитов.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...