Использование Git с Xcode (4.3) - настоящий кошмар.
Вот сценарий...
Я хочу добавить новую функцию, поэтому создаю новую ветку темы.
Я добавляю свою новую функцию, и я готов к фиксации, перебазированию и слиянию...
Я фиксирую свои изменения - отлично.
Я возвращаюсь к мастеру, чтобы получить изменения (на случай, если кто-то еще обновил код). Вдруг получаю:
error: Your local changes to the following files would be overwritten by checkout:
myProject/project.xcworkspace/xcuserdata/Bodacious.xcuserdatad/UserInterfaceState.xcuserstate
а? Я только что совершил.
Xcode любит изменять мои файлы project.xcworkspace
каждую секунду, что делает почти невозможным выполнение чистых атомарных коммитов.
Более того, если я зафиксирую изменения в project.xcworkspace
и быстро вернусь к другой ветке (например, для слияния с Master), тогда Xcode будет жаловаться, что файлы изменились и, вероятно, тоже крах.
Насколько я понял, я также не могу добавить эти файлы в свой .gitignore
.
Должен ли я признать, что краткая и упорядоченная стратегия git невозможна с Xcode, закрыть Xcode, прежде чем выполнять какое-либо управление Git, или есть другой доступный вариант?