1. 程式人生 > >Xocde使用Git解決檔案衝突

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 (新建檔案)