GitLab(6)——Git 项目代码分支管理

  参与项目管理已经有一段时间了,之前有关代码的分支管理一直是一个头疼的问题。而且设计多个项目团队,参与同一个项目开发,那么怎么能够保证各个团队之前的代码不会相互冲突呢?之前考虑了好久,一直没有很好的方案,直到使用Git逐渐熟练后,才渐渐的懂得里面Git项目版本管理代码的原理。以下一幅图就是针对我们多个团队共同参与同一个项目开发管理的代码的经验,经验证还可以,后续也可能会有更好的项目代码管理经验,期待不断的学习进步...

 

  上面的这幅图清晰的说明了,i动、i车两个项目团队共同参与一个项目版本管理办法。具体分析如下:

  每个需求单独对应一个feature分支,当这个分支开发完,达到升级UAT(测试环境)条件,就合并到iuat分支(UAT环境)并打包更新测试环境,进行测试...

  当feature合并到iuat测试完成,达到上线条件,将feature合并到master分支上,并打包更新生产,进行生产环境升级测试...

  当然如果你有更好的多个团队共同参与一个项目管理办法,可以提出更好的建议...

   ===========================================================================================================================

Master Tag 标签管理

Authorxusy

目的:通过Tag/Branch来进行生产版本管理

一、列出tag

在控制台打印出当前仓库的所有tag

git tag

二、创建附注tag

创建附注Tag时,参数a即annotated的缩写,指定Tag类型,后附Tag名。参数m指定Tag说明,说明信息会保存在Tag对象中

git tag -a v1.0.2 -m 'v1.0.2升级版本'

三、切换tag

与切换分支命令相同,用git checkout [tagname]

git checkout v1.0.0

 

四、查看tag信息

git show命令可以查看Tag的版本信息:

五、删除tag

1. 误打或需要修改Tag时,需要先将本地Tag删除,再打新Tag

git tag -d v1.0.2

2. 删除远程服务器tag

git push origin :refs/tags/v1.0.2

六、tag推送到服务器

通常的git push不会将Tag对象提交到git服务器,我们需要进行显式的操作

git push origin v1.0.2

七、查询分支

git branch -a

其中*标记的 代表是当前分支,如果需要切换分支,执行:git checkout dev_pvt_20180710

八、Git命令大全

参照:https://blog.csdn.net/tomatozaitian/article/details/73515849

1、创建本地分支并提交远程

创建本地分支:git branch dev
切换本地分支:git checkout dev
创建并切换本地分支:git checkout -b dev
将本地分支提交到远程:git push origin dev -u

2、提交文件到本地仓库

将指定文件加入到暂存区:git add README.md
将全部文件加入到暂存区:git add -A(勿用 会将所有的文件加入到暂存区,比较坑爹...)
如果真的不小心将所有不应该加入到暂存区的文件加入到了暂存区,执行:git reset(会撤销加入到暂存区所有文件,具体:https://blog.csdn.net/kikajack/article/details/79846098)

提交文件到本地仓库:git commit -a -m '注释内容'
commit撤销
1、git log 找到需要撤销的版本ID
2、git reset –hard id 完成撤销,同时将代码恢复到前一commit_id 对应的版本
3、git reset id 完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改
提交文件到远程仓库:git push origin dev -u

3、查看提交记录

查看提交记录:git show
查看版本:git log

4、分支比较及合并

切换分支:git checkout master
master分支与dev分支比较:git diff dev
将dev分支合并到master上:git merge dev
将master合并后的代码提交到远程仓库:git push origin master -u

5、删除本地分支及远程分支

删除本地分支:git branch -d dev
删除远程分支:git push origin --delete dev

 6、强制覆盖本地分支,比如:master,发现存在未提交的代码,但是又想以远程的代码为准。

git fetch --all
git reset --hard origin/master

  

 

posted @ 2018-03-09 09:41  xu_shuyi  阅读(792)  评论(0编辑  收藏  举报