如果是php、rails項目,用git merge後解決每個文件的衝突就好了。
如果git merge cocoa項目,工程文件經常會有衝突。而且一衝突就一大堆。怎麼破?不會要為每個項目成員開一個工程文件吧,有木有科學點的解決方案
小伙看你根骨奇佳,潜力无限,来学PHP伐。
大多數我們遇到的.pbxproj工程文件衝突就是幾個人都同時往項目裡添加了文件,這是個XML文件,所以基本上只要把各方對這個文件做的修改都加在一起就行。可以讓git做這件事,在 .gitattributes 檔案裡面加一行:
*.pbxproj text -crlf -diff -merge=union
這樣可以應付絕大多數情況,除非是有人刪了一個文件,有人又加了一個同名文件,或者大家同時修改了一些編譯選項,但這種情況應該透過制度來避免。
另外,據說Google有的iOS開發小組是不提交.pbxproj文件,而是自己定義了一個文件格式用來記錄文件列表,然後用一個內部的腳本生成.pbxproj。
大多數我們遇到的.pbxproj工程文件衝突就是幾個人都同時往項目裡添加了文件,這是個XML文件,所以基本上只要把各方對這個文件做的修改都加在一起就行。可以讓git做這件事,在 .gitattributes 檔案裡面加一行:
這樣可以應付絕大多數情況,除非是有人刪了一個文件,有人又加了一個同名文件,或者大家同時修改了一些編譯選項,但這種情況應該透過制度來避免。
另外,據說Google有的iOS開發小組是不提交.pbxproj文件,而是自己定義了一個文件格式用來記錄文件列表,然後用一個內部的腳本生成.pbxproj。