公司项目一直是使用svn进行版本控制的,比较坑的是最开始新建项目的时候svn版本比较低,导致后续各种升级以及附带的问题。现在想将项目迁移到git管理,参考一些资料和博客后,总结下经验。本篇文章主要是讲述如何在Xcode里面使用mac自带的git对项目进行版本控制。
1、创建工程的时候同时直接选择git管理
好,我们从这里开始:File->New->Project->工程命名->next->看下图选择->create
这样就创建了一个带git控制的工程项目。
2、已经创建好的工程没有带git控制,可以用如下的方法新增
(1) 打开终端,cd到你创建的工程目录
(2) 执行git init 。 这时.git 文件就被创建出来了,使用命令 ls -a 能查看隐藏文件
(3) 执行git add . 。该行指令中不要漏掉后面的“.”,它和add之间还有一个空格。这样就把当前目录的所有内容都添加到了.git文件中
(4) 执行git commit -m "Initial commit",这样就会持久保存所做的更改
最后,重启Xcode,打开Source Control 你就会发现原本不可以用的菜单项,现在都可以使用了。
3、按照1或者2的步骤,最后可以在Source Control看到如下截图所示的内容:
4、接下来就能进行实际操作,查看git控制版本效果。
主要功能使用:
1、New Branch:新建分支
2、Switch to Branch 切换到目标分支
3、Merge from Branch 将目标分支合并到当前分支
4、Merge into Branch 将当前分支合并到目标分支
5、Configure 配置信息
其中默认最开始的新建的工程为主分支master
5、接下来看下操作的效果图
(1)新建2个分支:Source Control->GitDemo(工程名)->New Branch,分别创建Git-developer和Git-release这两个分支
(2)切换到Git-developer分支:Source Control->GitDemo(工程名)->Switch to Branch,选择Git-developer
(3)新建GitTest类,此时当前版本Git-developer多出GitTest.h和GitTest.m这2个文件,分别切换到master和Git-release查看发现都没有GitTest.h和.m文件
如下图:
6、现在developer分支有新的更新,可以把提交这次的更新(注意:切换到developer分支后提交更新)Source Control->commit
在弹出的界面中左侧选中需要提交的文件,在窗口的底部写上更新的描述,点击右下角的commit Files。这样就提交完成了一次更新,在Source Control->history可以查看此次的更新。
7、现在可以尝试将developer分支的更新合并到release和master分支中
Source Control->GitDemo(工程名)->Merge into Branch 选中需要合并到的目标分支,分别选择release和Master分支,点击右下角merge,这样就合并完成了。
8、重新切换到release和Master分支,发现这两个分支下面都有刚才新建的GitTest.h和.m这两个文件了。
截图就不上传了,比较麻烦,操作起来也比较容易上手,xcode里面git的基本操作就这些。
题外话:一般在开发中,多人合作开发的时候,版本控制非常重要,所以一定要有稳定的主分支Master,开发功能的分支developer,预发布的分支release这三个重要分支。每次有新功能和需求的时候每个开发人员就从developer分支分别拉取项目开发,最后合并入developer,功能完成后就并入release,修改bug时在release分支操作,修复完成后分别并入Master和developer分支,最后从Master分支拉取最终的代码打包上传APP Store。参考链接