开发工具—–熟悉使用 xCode的git

前言

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,用来干嘛?你懂得!

 

 

 

 

 

发表评论

邮箱地址不会被公开。 必填项已用*标注