Git正确的协作方式(很简单)

最近部门有人书写了一篇很好的Git协作方式,操作也简单,分支能以保持一条干净的线进行协作开发。这里做个笔记,方便之后查看。

PS:本文非原创。

原则

  1. 不过分相信自己,自己的修改,可能影响所有人
  2. 不过分信任别人,别人的修改,可能影响我自己
  3. branch 和 commit 是 后悔药
  4. 把大修改分割成小修改,并编写修改描述(commit message)
  5. 高风险的修改,在未确定影响范围的情况下,[不] 推送到dev
  6. 高风险的修改,找老司机 审(dian)核(bei)

对策

  1. 各人保持自己的 branch,在独立的 branch 上进行开发
  2. 公布修改时,指定推送到 origin/dev
  3. 周期性对自己的 branch,rebase 到 origin/dev 上

步骤

1. Clone项目

git clone <版本库的网址> <本地目录名>

2. 获取远端最新状态,并从 origin/dev 上创建自己的分支

git fetch --all
git checkout -b fix-file-upload-bug origin/dev # <分支名> <签出点>
git push -u fix-file-upload-bug # 推送当前分支,并映射 origin/fix-file-upload-bug 为默认推送分支

此分支应只有你自己使用

3. 查看、确认修改,创建commit

(假设提交所有)

git status
git add -A
git commit -m "[WIP] fix logic on server side, web page not fixed yet"

git push # 在远端保留自己的备份以防万一,
# 此操作会提交到 origin/fix-file-upload-bug,不影响origin/dev

...

git add -A
git commit -m "[WIP] web page fixed"

...

git add -A
git commit -m "[FIX] fix and tested"

(注:与svn不同,commit并不会影响远端分支,也就不可以被别人获取)

4. [rebase]更新本地代码,在 本地 解决冲突(以最新的 origin/dev 为基准)

Git的杀手功能,推荐详细阅读更多资料,欢迎补充。

git pull -r origin dev # 组合命令,拉取 & Rebase

git 当前分支 和 origin/dev 的 commit 纪录,进行 commit by commit 的比对。 相对频繁的 commit,能有效降低 rebase 的难度。

参考阅读 https://git-scm.com/docs/git-rebase 注意模型图

注意解决冲突步骤:

1. 如果有冲突地方,先去解决冲突。

2. 然后执行

git add -A

3. 继续rebase

git rebase --continue

PS : 切记切记不要commit!!

5. [push]把本地代码,立刻公布到 origin/dev上

git push origin HEAD:dev # 手动指定推送到 origin/dev 上(非默认分支 origin/fix-file-upload-bug)

由于步骤4[rebase]的存在,这一步肯定可以成功,且无冲突。

如 origin/dev 被保护,则需要到gitlab上发起MR(merge request),指定目标分支是 origin/dev ,由管理员审核代码后,触发合并操作。

转载:http://www.cnblogs.com/lovesong/p/5399336.html

时间: 2024-12-30 16:56:50

Git正确的协作方式(很简单)的相关文章

《Git学习指南》——1.3 分支的创建与合并很简单

1.3 分支的创建与合并很简单 对于大多数版本控制系统来说,分支的创建与合并通常会因其特殊性而被认为是高级拓展操作.但由于Git最初就是为了方便那些散落在世界各地的Linux内核开发者而创建的,合并多方努力的结果一直都是其面临的最大挑战之一,所以Git的设计目标之一就是要让分支的创建与合并操作变得尽可能地简单且安全. 在下面的图1.4中,我们向你展示了开发者是如何通过创建分支的方式来进行并行开发的.图中的每一个点都代表了该项目的一个版本(即commit).而由于在Git中,我们只能对整个项目进行

很简单的企业管理器---我写程序的方式,几个自定义控件。

好久没写博克了,一是工作忙,二是最近感冒了.现在终于好了一点. 园子里好像在谈论OO.命根子,我也说两句吧.命根子嘛,我觉得是竞争力,呵呵,不多说了,免得跑题.我主要想说的是我写代码的方式. 这里呢我利用我常用的东东写个实例,抛砖引玉,大家也都来批批,帮助我提高嘛. 我常用的呢是 数据访问层(简单理解是SQLHelp,但是绝不等于).分页控件等自定义控件.UserControl等. 实例呢就是做一个很简单的"企业管理器",等等,不要想的太远,我没想做那么大,我只想达到如下几个功能即可.

艾伟也谈项目管理,一种适用于真实世界BPM的协作方式

我们在业务流程管理(BPM)领域里摸爬滚打已经很多年了,最近看到人们对它的关注不断提升,这是非常有趣的一件事.对这一趣事儿起催化作用方面的有,工具的日渐成熟.新BPMN2.0规范的形成.以及更多更好的相关出版物带来的人们对BPM的进一步理解,它们代表着BPM领域内最重要的进步. 厂商提供了越来越高精良的图形化工具以及由其承诺的业务流程实现自动化,无需任何编码甚至开发者参与:然而,我们也发现了使用这些"传统"的以厂商为中心方法的一个问题:它们并未履行任何承诺! 我们以前的一些项目可以佐证

《深入理解Elasticsearch(原书第2版)》一2.5 选择正确的查询方式

2.5 选择正确的查询方式 在<Elasticsearch Server,Second Edition>一书中,我们详细介绍了Elasticsearch的查询DSL,这一种使用JSON结构化的查询语言,可以构建极其复杂的查询语句.不过,在那本书中我们没有探讨在不同的场合可以用到哪些查询方式,以及应该使用哪种查询方式.对于一个在全文搜索引擎领域没有经验储备的人来说,Elasticsearch提供的查询方式显得太多了,而且容易让人迷惑.因此我们将在本书中对这方面的知识做一些深入探讨,从而引导读者如

《深入理解Elasticsearch(原书第2版)》一2.4.5 选择正确的过滤方式

2.4.5 选择正确的过滤方式 读了前述关于后置过滤和过滤查询的解释,你可能会在以后只考虑使用过滤查询并远离后置过滤.这一规则在绝大多数情况下是正确的,不过在某些条件下,存在例外情况.经验法则告诉我们,开销最大的操作需要移动到查询处理链条的尾部.如果过滤器执行很快,开销很小,并且易于缓存,很简单,直接选择过滤查询即可.相反,如果过滤器执行很慢,CPU开销大,并且难于缓存(比如有大量唯一值的情况),请使用后置过滤,或者尝试优化过滤器.优化途径包括简化过滤器和使得过滤器对缓存更友好,比如,可以降低时

升级iOS 10之后 正确的解锁方式是怎样的?

刚升级到iOS 10的小伙伴最直观的感受可能就是锁屏界面的改变了.从前只要按下电源键点亮屏幕,手指轻触Home键(不需要按下)就能轻松解锁手机.而现在点亮之后则必须按下Home键才行(广大非iPhone 7用户),好麻烦! 但真相可能并非如此,今天雷锋网小编就在这里为大家做一个小科普:关于iOS 10最新解锁界面的正确打开方式. 首先,在最新推送的iOS 10上,锁屏状态通过按下电源键点亮屏幕之后,用手指轻触Home键,实际上手机是已经解锁了的,不信请看如下截图: 虽然手机已经解锁,但与iOS

《深入理解Elasticsearch(原书第2版)》——2.5 选择正确的查询方式

2.5 选择正确的查询方式 在<Elasticsearch Server,Second Edition>一书中,我们详细介绍了Elasticsearch的查询DSL,这一种使用JSON结构化的查询语言,可以构建极其复杂的查询语句.不过,在那本书中我们没有探讨在不同的场合可以用到哪些查询方式,以及应该使用哪种查询方式.对于一个在全文搜索引擎领域没有经验储备的人来说,Elasticsearch提供的查询方式显得太多了,而且容易让人迷惑.因此我们将在本书中对这方面的知识做一些深入探讨,从而引导读者如

内容+外链 SEO其实很简单

Seo不是什么高深莫测的东西 很多人都认为seo很神秘或者很高深,事实上,个人觉得它并不是一个什么高深的技术.尽管网上关于seo的教程或者文章有太多太多,但是总结起来其实也就那么几点.甚至于,有时候只做好一点,就能把网站的排名做上去.所以,大家不必把seo当做是什么高深莫测的东西.目前市面上做seo培训的一般只有几天的课程,试想,如果seo里面有很多纷乱复杂的东西,仅仅几天是肯定学不完的.现在的seo从业者或者seo的爱好者.实践者,一般采用的方式是主流的"八大因素",即便有些新的方案

网站优化写出高质量的软文其实很简单

如有做为一种重要的网站推广方法,受到seor的欢迎,高质量的软文不仅能带来大量流量,而且能带来大量链接,引导蜘蛛光临我们的站点,增加网站权重,因此软文推广是网站优化最好的推广方法.软文推广也是很多seor谈论最难的方法.今天冲浪就谈谈如何写出高质量的软文,其实你会发现,写出高质量的软弱竟然是如此的简单. 1.软文的话题 写软文要找自己熟悉的话题,自己擅长的话题,只有自己在该话题方面知道的多了,有独特的见解,写起来才能游刃有余,挥笔自然.在该话题内,围绕读者最关心的问题,读者心里想的问题,读者需要