前言:
1.文中的”$”不纳入命令行中,只做标记用
2.文中会介绍常用的命令行操作方式和xcode界面化操作方式介绍git
3.以下均个人理解整理,如果有错还请指出
git工作原理

什么是分支?
- git可以创建无数个分支,且在创建一个git仓库的的同时会自动创建第一个分支
- 分支的作用:举个例子 —> 一个已经上架的项目,发现有重要Bug,为了不影响主分支的开发进度,一般会开个分支出来专门修复Bug用,等到Bug修复后,再与主分支进行合并操作
HEAD头指针运作原理
- HEAD指针就是为了在各个分支间进行切换,我们开发哪个分支,它就会指向哪个分支

git初始化和访问配置(命令行方式)
git好用的功能 —— 起别名
- 我们来给status起别名 st
- 基本方式:(只能在当前文件夹内的git工作区内使用)
- $ git config alias.st “status”
- 这样以后要查询文件状态就可以直接使用 $ git st 就可以了
- 高级方式:(只能在当前文件夹内的git工作区内使用)
- gitcommit?m"注释"??> git config alias.ci “git commit -m”
- 这样以后要提交文件就可以直接使用$ git ci “注释”
- 全局别名:(设置一次,电脑中所有的地方都可以使用)
- $ git config –global alias.st “status”
git删除文件
- 先创建一个新的文件
- 将文件提交到暂缓区中
- 提交删除操作到本地版本库
- $ git commit -m “删除了test.m”文件
- 删除test.m文件
查看git版本信息
- 查看git历史版本信息
- 因为git是分布式版本控制,有多个git本地版本库,为了使版本号之间不互相冲突,所以git版本号是通过SHA1加密得到的密文。

版本回退操作
- 情况一:修改了本地版本库文件,但还未提交
情况二:修改了本地版本库文件,且已经提交
创建共享版本库并初始化项目
- 创建共享版本库方式
- 自己搭建服务器,自己在服务器上配置(复杂)
- 在U旁上创建共享版本库
- 把共享版本库创建到文件夹中
- 托管到github、oschina网站
- 创建共享版本库步骤
- 初始化一个空的git共享版本库(和本地版本库不同的是,共享版本库不会生成.git文件夹)
- $ git init –bare
注:怎么查看使用的版本库是共享版本库还是本地版本库,我们可以打开git 中的config配置文件查看里面的“bare”字段,如果现实为true表示为共享版本库,反之不是。
- 管理者连接仓库并下载仓库到本地
- 初识化项目
- 在初始化项目前,我们需要先忽略一些不必要的文件
- 创建一个忽略文件.gitignore夹
- $ cd git工作区路径
- $ touch .gitignore
- 到github上搜索gitignore并拷贝Objective-OC文件中的内容到我自己创建的忽略文件内保存(文件中里面包含了我们需要忽略的文件配置)
- 添加并提交忽略文件到本地版本库
- $git add .gitignore
- $ git commit -m “新建.gitignore忽略文件” .gitignore
- 创建我们的XCode工程
- 项目保存路径选择我们本地的版本库(这是下面的git选项就会变灰不可点击,这是正常的,因为我们当前的目录下就有了git仓库)
- 提交到本地版本库:创建完成后点击XCode上面的Source Control –> Commit –> 添加注释 –> 提交
- 提交到远程版本库(共享版本库):Source Control –> Push –> 选择远程版本库 –> Push
XCode使用git(添加第三方框架)
XCode回退操作
- 在XCode中,我们要进行回退操作很简单:Source Control –> Discard All Changes(取消所有的更改)就可以了
XCode多人开发冲突解决
- 在多人开发中,很容易出现版本之间的冲突问题,一般我们都是先提交代码到本地仓库,然后一段时间提交一次到远程版本库中,这段时间可能别的开发者已经提交过文件,并且修改了和你同一文件的同一行,那么此时要提交就会报错
- 处理方式:
- Source Control –> Pull –> 选择修改样式 —-> 确定
- Source Control –> push –> 提交
创建新成员的共享版本库
- 有时候开发过程中会出现新的团队成员,而考虑到新成员和老成员使用git方式不一样或者不熟悉,为了保证代码的安全性,会新建一个专门给新成员的共享版本库,以供观察
- 创建新成员共享版本库(步骤)
- 在远程共享版本库中新建一个新成员文件夹
- 打开远程共享版本库
- 初始化新的共享版本库
- 为确保拷贝到新成员共享版本库中的工程为最新版,操作之前先pull一次工程
- Source Control –> 鼠标移至工程分支选项 –> 选择弹出菜单中的Configure … –> 在弹出窗口中选择 –> Remotes(远程) –> 点击左下角”+” –> Add Remote… –> name:分支标记 Address:需要添加的仓库地址 –> Done –> Source Control –> Push –> 选择新成员分支 –> push
- 到此,新成员拿到仓库地址
- 如果要检查新成员的工作成果,那么也需要下载新人共享版本库的工程
- 先在本地创建一个存储目录
- 然后打开该目录
- 下载工程
查看提交日志
- Source Control –> History…
- 在日志中可以点击对应日志中右边的 show 查看修改的情况
将工程托管到github或osChina平台
github篇:
删除代码仓库
- 登录github –> 找到仓库 –> Settings –> 最下面有个Delete this repository – 输入需要删除的仓库名 – 提交
将旧项目添加到git版本库中
- 创建远程仓库
- 配置远程仓库并连接
- 使用命令行将文件加入到管理列表中
- 提交代码到本地版本库
- 提交代码到远程版本库