企业团队使用Git协同开发的一般流程-阿里云开发者社区

开发者社区> 迅雷老曾> 正文

企业团队使用Git协同开发的一般流程

简介:
+关注继续查看

流程大纲

一、代码编写

1.从主分支(master)上创建开发分支(dev)。 

git branch dev

2.切换到dev。 

git checkout dev

3.在dev上进行代码编写,并提交本地版本库。 
注:一定不能直接在marster分支上修改代码

git add ./src ./res
git commit -m "添加缓存模块"

这个时候有一些改变了没有提交的代码会变红色,在你 切换到master之前,应该暂存当前dev的开发一下到栈里。

git stash


二、合并代码

1.切换到master。 

git checkout master


2.从remote master拉取最新代码到local master。 

admin@ZENGJINLONG2 /d/kuaipan/swap/code/animate/kankananime (dev)
$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

admin@ZENGJINLONG2 /d/kuaipan/swap/code/animate/kankananime (master)
$ git pull
Username for 'http://gitlab.urd.com': zengjinlong
Password for 'http://zengjinlong@gitlab.urd.com':
fatal: Authentication failed for 'http://gitlab.urd.com/kankan/kankananime.git/'


admin@ZENGJINLONG2 /d/kuaipan/swap/code/animate/kankananime (master)
$ git pull
Username for 'http://gitlab.urd.com': zengjinlong
Password for 'http://zengjinlong@gitlab.urd.com':
Already up-to-date.

admin@ZENGJINLONG2 /d/kuaipan/swap/code/animate/kankananime (master)
$


3.切换到dev。 

git checkout dev


4.rebase master 到 dev。 

git rebase master


5.如果有代码冲突,则解决。

三、提交代码

1.切换到master。 

git checkout master


2.将dev的代码合并(merge)到master。 

git merge dev


3.推送(push)local master 到 remote master。 

git push


4.看你心情,保留或者删除dev分支。

回到dev开发,要从stash中取出暂存的状态

git stash pop


总结流程如下:

git clone URL
(master branch now)
git branch dev
(new dev bransh to develop)
git checkout dev
(switch dev bransh now)
(.....coding ..add ... delete..modify...)
git add ./src ./res
(just add src and res in the local reposity)
git stash
(push the status into git stack,as some files modified but not add and committed)
git checkout master
git pull
(update the code from server .)
git checkout dev
git rebase master
(rebase from master.)
(solve the conflict code)
git checkout master
git merge dev
(merge the code from dev)
git push
(upload the new code to server)
git checkout dev
git stash pop
(ok, continue coding ,man )

如果不小心在master分支改动了代码怎么办?

git stash表示的是暂存从上一个commit到现在的改动,一旦你执行了该指令,当前分支会回退到上一次commit时候的状态。所以如果你master改动了。你可以如下处理

git status
(you will the modification is red)
git stash
(temporary store the modification into stack)
git status
(no red file now, as the branch rallback to the latest commit)
git pull
(update the code from the server)
(if you want to save the modification, you need still step on following steps)
git checkout dev
git rebase master
(update the code base on master)
git stash pop
(pop the stored code out)



以EclipseGit插件为例演示

  • 创建Dev分支CreateBranchDevCreateBranchDetail
  • 在marster分支上拉取最新代码PullToMarster
  • 在dev分支上rebase Marster分支代码RebaseFromMarsterToDevRebaseDetail
  • 在Marster分支上合并dev分支代码MergeFromDevToMasterMergeDetail
  • 提交marster分支到远程库PushToRemote

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用IIS发布WCF服务
WCF服务库在WCF4.0之前是不支持无svc部署的,所以单独的WCF类库无法在IIS里托管。 你需要创建一个WCF服务程序,里面引用你的WCF服务库,这里会有一个svc文件指定类库。 另外IIS里部署WCF服务,和部署一般的网站一样,但是IIS5应该只支持http协议。
605 0
《团队软件过程(修订版)》—第1章1.4节TSPi的结构和流程
TSPi从团队制定开发策略开始。首先确定在第一个周期中要开发的最小合理产品,然后,估算在每个后续周期中要增加的产品功能的规模。这种方式基本可以保证你能完成最终产品的可运行的前期版本。
1113 0
传统IT企业转型之路
本文整理自2017云栖大会-成都峰会上管家婆云科技有限公司CEO宁洪的分享讲义。讲义主要分享了传统IT软件厂商的服务方式,并分享了这些方式的缺憾,向云转型的必要性以及同阿里合作的缘由。
1368 0
git学习------>从SVN迁移到Git之后,项目开发代码继续在SVN提交,如何同步迁移之后继续在SVN提交的代码到Git?
最近逐步逐步的将公司的项目都从SVN往Git迁移了,但是想团队成员都能够一步到位就迁移到Git是不可能的,因为还有大部分人都还不会Git,所以整个过渡过程估计得大半年。
1549 0
GIT的使用流程
GIT的使用流程 1 github注册流程 1 进入github官网:https://github.com/ 2 注册一个自己的github账号 3 右上角选择New repository 4 进入create...
1044 0
+关注
199
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载