2012-08-16 44 views
5

每當我做一個拉,從我的其他團隊成員有一個合併衝突。我試圖手動刪除====和>>>>的,但Xcode將永遠不會打開該文件後。如何處理Xcode「pbxproj」文件中的合併衝突?

我只是好奇,這是一個團隊中的每個iOS人都處理的問題嗎?有什麼小費或竅門可以避免這種廢話?這嚴重降低了我的生產力。

+1

考慮增加使用配置管理工具,在任何情況下(SVN混帳其他???):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 – 2012-08-16 03:45:05

+0

嘗試使用'merge = union'選項:https://twitter.com/zholmquist/status/172824285562408961很多時候它都適用於很多人。另見http://stackoverflow.com/questions/2729109/should-i-merge-pbxproj-files-with-git-using-merge-union – 2012-08-16 04:02:02

回答

2

你只需要一個好的合併工具。我使用p4merge:http://www.andymcintosh.com/?p=33包含一個將其與Git集成的指南。

+0

我只使用汞,但kdiff3一般對待我很好..所以可能是別的東西來看看。此外,[這(封閉)後](http://stackoverflow.com/questions/96051/best-file-comparison-tool)包含額外的合併工具建議(不知道哪些適用於OS X)。 – 2012-08-16 03:40:47

1

這兩個可以走很長的路要走:

  • 依靠Xcode項目少,這樣你可以通過添加的東西目錄重建項目,然後把它以最少的變化。一個很好的例子:在xcconfigs中定義你的構建設置。

  • 簡化您的項目。如果您正在開發同一大型項目的單獨組件,碰撞將會減少。

+0

你能否詳細說明你的第二個要點? – 2013-01-08 00:19:18

+0

@MattH。基本的出發點是將項目分成不同的組件。新的xcode或sw開發人員可能只是將所有內容都放在一個目標中。但是,您的程序的後端在靜態庫目標中可能會更好,該靜態庫目標被配置爲主應用程序的依賴項,並且屬於單獨的xcode項目中的單獨目標。那麼你可以把你的單元測試放在單獨的項目中 - 你只需將小部分分開即可。碰撞是不太可能的,因爲那時你擁有許多組件的結構圖,而不是一切的單一項目。 – justin 2013-01-20 11:28:09