原文地址:http://robots.thoughtbot.com/xcode-and-git-bridging-the-gap
现在的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 (新建文件)