Xocde使用Git解決檔案衝突
現在的Git可謂如日中天,大量的開源專案和專案開發都離不開它,但不幸的是與多個開發人員合作專案時,Xcode與git似乎仍然相差幾英里遠。
這裡有一些方法我們可以縮小差距。
.gitignore
第一次調整是告訴git忽略某些OS
X和Xcode生成的檔案,從構建過程和工件自動備份檔案。Xcode配置檔案屬於每個開發人員Xcode的安裝,不需要一直置於版本控制之下。
在專案的根" .gitignore" 檔案,新增以下內容。
<span style="color:#ff0000;"># OS X Finder .DS_Store # Xcode per-user config *.mode1 *.mode1v3 *.mode2v3 *.perspective *.perspectivev3 *.pbxuser *.xcworkspace xcuserdata # Build products build/ *.o *.LinkFileList *.hmap # Automatic backup files *~.nib/ *.swp *~ *.dat *.dep</span>
忽視這些檔案可以幫助我們在開發過程中避免不必要的合併衝突。不過有一個例外..
project.pbxproj
project.pbxproj在Xcode配置包是一個重要的檔案。它負責維護所有相關檔案的引用和分組,與框架,最重要的是,專案的構建設定。
正因為如此,我們不能排除.pbxproj檔案。
在開發期間,你會發現你遇到相當大的合併衝突都是因為這個檔案,特別是當多個人新增或刪除檔案或更改專案和目標設定時。
合併這個檔案的問題是,它不是給人讀的。在一個自定義的格式,類似於一個屬性列表(但不完全),且改檔案的內容與您的專案並不明顯。
有99%的時間,你想要解決雙方的衝突。幸運的是,在git中
.gitattributes
新增一個.gitattributes檔案到您的專案中,該檔案可以通過將屬性分配給一個特定的路徑影響某些git操作執行。
我們將使用。gitattributes告訴git,任何檔案的副檔名。pbxproj應該作為二進位制。
把一下內容包含在你的.gitattributes檔案中。
<span style="color:#ff0000;">*.pbxproj binary merge=union</span>
因為這種型別的自定義格式的檔案正是我們想要的。當衝突出現了,git將自動將改變雙方的衝突併合並。
結束
通過新增這兩個檔案,git是現在裝備來處理更改專案由多個開發人員,我們可以花更多的時間寫程式碼和開發新功能。
------------------------------------------------------ 華麗的分割線 ----------------------------------------------
英文水平太渣,都是靠有道翻譯的,英文牛逼的童鞋可以直接看原作!
這裡說一下在Mac怎麼新建" .xxx" 檔案,也是文中需要建立的兩個檔案
首先得顯示隱藏檔案
defaults
write com.apple.finder AppleShowAllFiles -bool YES
同理,NO即隱藏
然後可以是用命令列
1. cd xxx (到你專案的根目錄)
2. touch .xxxx (新建檔案)