我们的项目上线之后,随之而来的便是一次次的迭代,一次次的更新,这个时候我们就需要在git上对更新版本代码的标定,方便我们日后出现未知错误的时候进行代码的回滚,减少不必要的麻烦。
举个例子:我们上线了4.0.0版本,,计划一个月之后我们需要更新到4.1.0版本,这个时候我们在线下进行代码的更新迭代,但是过程中出现了一个非常重大的错误,这个错误如果进行修改将非常麻烦,或者说在更新过程中不知道错误出在哪,这个时候,我们就需要代码的回滚,将新旧代码进行比较,得出结论。如果在4.0.0版本上线的时候我们就已经将此版本git到master分支上且注明了tag,我们就可以直接git clone下来4.0.0版本的代码 ,作比较。
步骤:
1、将平时自己做开发的分支切换到主分支master(develop—>master),在xocde上commit一次;也可以使用命令行操作,如下;
(1)、打开命令行,进入当前4.0.0版本代码所在位置;()
bogon:~ shilifeng$ cd Desktop/linkmore.ios
2、切换分支到master主分支;(首先你需要除了主分支以外至少一个开发分支,如果没有,新建一个,用来做开发代码的更新)
新建分支:
切换分支:bogon:linkmore.ios shilifeng$ git branch develop
bogon:linkmore.ios shilifeng$ git checkout master
3、查看当前分支是否已经切换到主分支;
* master develop 4、合并到主分支下(这里develop分支下的代码务必是你平时做开发更新的最新代码,如果是新建的分支,内容为空,也可省略这一步,推送master)bogon:linkmore.ios shilifeng$ git branch
5、加入暂存、注释、提交远程仓库master下bogon:linkmore.ios shilifeng$ git merge develop
bogon:linkmore.ios shilifeng$ git add .
bogon:linkmore.ios shilifeng$ git commit -m "4.0.0版本"
得到如下结果bogon:linkmore.ios shilifeng$ git push http:XXXX@XXXX
* [new branch] master -> master
6、做标定、tag
bogon:linkmore.ios shilifeng$ git tag 4.0.0
bogon:linkmore.ios shilifeng$ git push --tags
7.检测tag是否成功,在本地新建一个文件夹,将刚push上去的代码git clone下来,然后进入这个文家内部,输入如下代码检测,如果tag成功 会出现 4.0.0 1
大功告成,到此git上master主版本下就有一个做了tag标定的项目,方便以后随时回滚到tag4.0.0这个版本下。出了重大的更新,平时我们做开发更新代码千万不要推送到master下,单独开出一个如develop类似的分支,进行开发代码的更新提交。bogon:linkmore.ios shilifeng$ git tag -l -n
开发分支的提交,成功结果为
* [new branch] develop
-> develop
bogon:linkmore.ios shilifeng$ git tag 4.0.0
bogon:linkmore.ios shilifeng$ git tag 4.0.0