前言
iOS开发时,项目的版本管理大概有Git,SVN,TFS等。本文主要讲述Git – 分布式版本管理。本文尽量简要。。。
本文学习过程
1.Git的理解以及常用的终端命令
2.配置xCode与现有的库关联并讲解实际使用过程
3.总结
一、Git的理解以及常用的终端命令
了解Git可以带着以下几个问题开始:
1.为什么说git是分布式版本管理?
2.小型公司使用git的方式?
3.普通的git的分支管理流程是怎么样的?
4.git的工作过程和常用命令是什么?
1.为什么说git是分布式版本管理?
Git图解
分布式的图解体现:
每一个branch可以是一个server,这个跟我们在github上fork别人库的场景是一样的。
主线的代码在master分支的服务器,branchA和branchB可以互不相干,branchA或branchB可以开其它的分支,分支同样可以另开分支,如河流有支流,支流又有其它支流。branch代码可以申请合并到master的代码里!所有代码可以分散在不同的服务器!
2.小型公司使用git的方式?
普通公司使用git的方式的图解:
一般公司有一个内网的git服务器,当然,所有的代码还是放置在这个服务器,其实代码还是集中管理了!服务器一般会有多个分支,master分支,特性分支,hotfix分支,release分支(每次发布设置一个tag)等。。。
3.普通的git的分支管理流程是怎么样的?
普通的分支管理如下图,开发人员会在develop分支弄出一个feature分支开发,然后合并到develop分支,然后合并到release分支,发布版本会打个tag。
4.git的工作过程和常用命令是什么?
git工作过程有3个区,缓存区,就是程序员编码改变的区域,本地仓库保存了修改前最新的状态,远程仓库保存了正式版本,供其它开发人员克隆使用。
常用的命令:
git clone git://github.com/####/####.git 检出仓库:$
git add * # 将所有修改过的工作文件提交暂存区
git commit -m ‘备注’ 提交并写入备注
git pull 本地与服务器端同步
git push (远程仓库名) (分支名) 将本地分支推送到服务器上去
查看本地分支:$ git branch
查看远程分支:$ git branch -r
创建本地分支:$ git branch [name] —-注意新分支创建后不会自动切换为当前分支
切换分支:$ git checkout [name]
……以上是非常常用的git命令,其它的,大家可以自己百度一下….
2.配置xCode与现有的库关联并讲解实际使用过程
xCode自带了git插件,可以辅助开发者很方便的操作git的版本管理。
开始使用的时候,有两种情况:
1.新项目,新库,远程git库还没有创建;
2.已有的项目,远程git库已经存在,待克隆。
1.新项目,新库,远程git库还没有创建
步骤:
1.远程(网页操作,如github)建立一个空库。
2.clone空库到本地,这个本地的文件夹有个.git的文件,将项目文件复制到空文件夹中。
显示:defaults write com.apple.finder AppleShowAllFiles -bool true
隐藏:defaults write com.apple.finder AppleShowAllFiles -bool false
还要重启Finder
3.git push origin master
这样就上传了项目到远程服务器了,这是打开项目,xCode上的Source control就会显示如下:
对应几个git的操作命令。。
那么我们怎么切换分支,或者新建分支 和打 tag 呢?
1.请留意xCode左手边的项目文件导航栏,上面有一个管理这些git的操作按钮
需要切换成远程某一个分支,左击checkout即可,其它操作,自己摸索一下。
2.已有的项目,远程git库已经存在,待克隆。
1.打开xCode—–》Source Control,显示如下
点击Clone , 随后xCode会弹出一个对话框,地址里写入git远程库的地址并且点击clone
地址如:git@github.com:WuChuming/privateRepo.git
这时候会有一个弹框:
图片显示:授权Clone有两种方式:
1.账号 和 密码
2.SSH Keys
这里讲一下 SSH Keys的配置过程:
1.打开终端查看是否已经存在SSH密钥:cd ~/.ssh
如果有这个文件夹,就说明你有了一对公秘钥。可以跳过下面的生成步骤。
2.终端输入 $ssh-keygen -t rsa -C “mail@example.com”
完成后会有如下显示
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/你的电脑用户名/.ssh/id_rsa.
Your public key has been saved in /Users/你的电脑用户名/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:5V6ZCQNS/3bVdl0GjGgQpWMFLazxTslnKbW2B1mbC+E example@qq.com
这时候,你可以到github或者gitlab的个人中心setting里取配置id_rsa.pub
设置后,就可以选择.ssh/id_rsa私钥来授权clone了。图就不截了,好好尝试一下。
另外,截个偏好设置的图,这里可以设置
点击Xcode—》Preferences,用来干嘛?你懂得!