git是一个版本控制系统,可以通过命令行来调用,也有专门的桌面软件;这里主要介绍在Xcode中如何利用git来进行版本的控制。
一、创建git源
从Xcode5开始引入了使用git的一些新特性,将git的各项功能整合到一个菜单中,并且提供子菜单来进行软件合并的控制,当用Xcode创建一个工程时,会出现一个复选框即如图所示:
一般默认情况下是被选上的,如果不想使用git,可以把它取消掉。当创建完项目工程后,打开项目工程所在的文件夹,会发现一个.git子文件夹,这是在创建工程时,勾选上上面复选框后Xcode为存储git源相关数据自动创建的。如果看不到.git子文件夹,可能是文件被隐藏了,可以通过打开终端,输入命令:
defaults write com.apple.finder AppleShowAllFiles TRUE
来显示隐藏的文件;隐藏文件:defaults write com.apple.finder AppleShowAllFiles FALSE
当刚开始创建工程时不勾选上图中复选框时,后面创建完工程后可以通过终端命令行来生成git源:
终端打开工程文件:cd /Users/YOUR-USERNAME/Desktop/NogitDemo ,同时在这条命令中设置MAC的用户名,
然后输入:git init,初始化一个空的源,这时.git目录已经被创建好,
接下来输入:git add,当前目录的所有内容被添加到源里去了,
最好:git commit -m 'Initial commit',这样git源就创建好了,Soure Control菜单就可以使用了
二、提交更改
在工程中添加代码,这时候会在ViewController.m文件旁边,添加了一个M字母,如:
说明那个文件已经被修改,这时候点击Source Control>Commit菜单项,弹出如下窗口:
点击Commit 1 File文件就提交成功了,同时之前文件右边的M就会消失。
三、分支
在git中默认都会有一个分支,叫做master。单独的开发者只在master这个分支开发,这其实不是一个好习惯。无论你是单打独斗还是组团合作,在对项目作出重大改变或添加重大功能时,使用分支是十分重要的。
创建一个分支,点击Source Control > GitDemo-master > New Brance…这个菜单,然后会弹出如下菜单:
输入分支名newBranch,点击Create就创建好了。
然后在这个新创建的分支里写入代码,不会影响到原来的Master分支,通过点击Source Control > GitDemo –AnotherBranch > Switch to Branch…菜单项可以进行分支切换。
在分支合并前,在newBranch里写入的代码不会同步到Master分支里去,不会影响之前稳定的版本。
四、合并分支
首先,确保master分支是现在的活动分支。如果不是,要改过来:Source Control > GitDemo – AnotherBranch > Switch To Branch… menu,并从展示窗口选择master分支。
打开Source Control > GitDemo – master > Merge From Branch…菜单,进行分支的合并。当有多个开发人员合并时,要注意后面合并时会出现报错情况,那是因为在合并时系统并不是那么智能的识别到了需要合并的整个模块,所以合并后可能会出现报错的现象。
这是一个坑呀!!不知道哪位大神可有解救的办法。。。
五、忽略更改
放弃不想要的代码更改功能非常有用,当你在开发过程中发现出了大乱子,你想从上一个稳定状态重新开始时,这个功能就派上用场啦。注意放弃更改这个功能没有回头路,点完之后你就没有办法再撤销这个操作了。
当你更改代码后,在提交(Commit)之前Discard All Changes和Discard Changes in “ViewController.m”...两个都可以点选,
提交(Commit)之后,Discard Changes in “ViewController.m”...会变成灰色,