前言
git:分布式版本控制器
平常我们使用git的话,几个基本的概念还是需要掌握的:
- 工作区:仓库文件夹除了.git目录之外的内容
- 版本库:git目录,用于存储记录版本信息
- 暂缓区:提交到本地库之前一个分区,git add就是提交内容到暂缓区git
使用
git服务器的搭建很麻烦,所以这次我们借助码元托管代码,做练习
-
1、初始化仓库: 注意点:一定要选择对应语言的.gitigore。(码元上暂时没有swift的.gitignore,我们可以去github上手动拷贝一份,然后放到仓库中,这一步一定要首先完成)
初始化仓库 - 2、将仓库克隆到本地某个文件夹中
cd /Users/liyang/Desktop/Git_Practise(本地文件夹路径)
git clone https://git.oschina.net/liyang13145/PracticeGit.git
-
3、我们在这个新的文件夹中创建一个新项目
Paste_Image.png -
4、然后我们接下来所有的操作都和这个项目有关,我们在终端中找到这个项目的路径,并回车
-
5、项目中一般需要导入好多三方,我们可以先进行这一步。我自己添加了一个mas三方
使用pod.png -
6、使用git status,查看下当前项目的状态
-
6-1:当有红色的部分,说明有文件还没有被添加到工作区,我们使用git add .操作,将暂缓区中文件添加到工作区,然后在git status查看下项目状态
Paste_Image.png
- 7、当文件都被添加到工作区后,我们使用git commit -m 先提交到本地仓库,在git push到服务器端,然后我们去码云上查看是否提交上去了
- 8、然后我们就可以进行开发1.0版本了
接下来,我们要讲的就是1.0版本开发完成后打tag,然后当我们开发2.0版本的时候,突然发现1.0版本出现了重大bug,然后我们在不影响2.0开发的基础上,新创建一个分支去修复1.0版本的bug,然后合并2.0版本和1.1版本
- 1、模拟完成1.0版本开发完成
- 1.1 将完成的代码提交到服务器,这个我用Xcode提交的,大家用终端操作也一样
- 1.2 先给本地库打上tag
- 1.3 提交到服务器端
git tag -a practise1.0 -m "1.0版本开发完成" (生成一个tag,并且命名,写注释)
git push origin practise1.0 (提交给服务器)
补充:
git tag (查看服务器端所有的tag)
git tag -r (查看本地库所有的tag)
tag 和 branch 必须不能重名!!!
(我的做法是branch命名的时候一般加上fixbug)
Paste_Image.png
Paste_Image.png
- 2、2.0开发进行到一半的时候,发现1.0的bug
- 3、这个时候,我们需要派一个猿去修复bug,基本步骤如下
- 3-1、去新开一个文件夹,把所有代码克隆到这个文件夹中
- 3-2、此时默认是当前的开发进度,我们需要回退到1.0完成的时候,通过tag定位到1.0版本,然后新创建一个分支,这样新分支中的代码就是1.0完成时候的代码了
- 3-3、完成1.0bug的修复,我们将代码提交到服务器端;并且打上新的tag1.1,新的tag也要提交给服务器
- 3-4、打包这个版本准备好从新上架商店
- 3-5、将1.1版本和当前正在开发的2.0版本进行合并,合并的时候,代码冲突的解决方法要选择保留两者的代码
- 3-6、删除我们用于改bug的分支
- 3-7、完成修复
1、
1-1:新建文件夹cd /Users/liyang/Desktop/Git_Practise
1-2:克隆代码git clone https..文件路径
1-3: 这个时候如果你前面有pod操作的话,需要pod update下;没有的pod操作的话,这一步跳过
2、
2-1: 查看当前tag
git tag
2-2:切换到当时1.0完成时候生成的tag
git checkout practise1.0 -m "完成1.0版本开发"
2-3:新创建分支,并且自动切换到新分支,此时代码就是我们完成1.0时候的状态(注意:后面的是分支名,一定不能喝tag重名!!!!)
git checkout -b practise1.1fixBug
3、
3-1:完成1.0修复后,从新将代码上传到服务器端
git commit -m "1.0bug修复,这是1.1版本"
git push
3-2:查看下当前的tag和branch,不要命名重复了
git tag
git branch
3-3:给当前版本新打tag
git tag -a practise1.1 -m "修复1.0bug的1.1版本"
3-4: 上传tag到服务器
git push origin practise1.1
3-5:查看下tag
git tag
4、这个版本打包下,从新上传到苹果商店
5、合并1、1版本和2、0版本:直接用Xcode操作。
5-1:先切换成主分支
git checkout master
5-2:再pull 1.1分支,出现冲突的时候,解决方案选择的是:保留两者
5-3:更新主分支到服务器端,让其他同事们都更新下
git commit -m "1.1版本和2.0版本合并"
git push
6、删除修改bug的分支,即 practise1.1fixBug
6-1:先删除本地分支
git branch -r -d origin/practise1.1fixBug
6-2:更新到服务器端
git push origin -deleate practise1.1fixBug
6-3:检查是否真的删除了
git pull
git branch
6-4:如果此时的分支中没有practise1.1fixBug,说明我们删除成功了
6-5:操作完毕
上图
1和2.png 3-1.png 3-2到3-5.png 合并分支.png 5-2.png删除分支就不上图了,OK完活
网友评论