某学姐

Android Female Developer,Technology Fan,Reader。

Git Flow工作流

2018-09-10 | Comments

这部分需要掌握的知识点:
(1)Git branching model
(2)Git基本指令

1. Git branching model

Git分支模型可参考下面这篇文章。

A successful Git branching model

其中,Git分支模型的精髓都在这张图中。仔细看分支箭头流向,不得不佩服大佬清晰的思路。

简单描述下这个模型特点:
包括的分支:feature、develop、release、hotfix、master
越往右的分支代码越接近上线的代码,越往右的分支越稳定。

多人协作的团队,一般是每个人在自己的feature分支开发并测试,feature开发测试过程中要定期git rebase develop,将develop分支的代码合并到feature分支,防止最终提交时冲突过多,合并到develop前后代码差异过大。 feature测试通过后才merge到develop分支。

2. Git基本指令

(1)git add
(2)git checkout
(3)git branch
(4)git pull
(5)git commit
(6)git rebase
(7)git push
(8)git cherry-pick
(9)git log和git reflog、git show、git diff
(10)git rebase 和 git merge 的差别?
(11)git reset (–soft/mixed/hard) 和 git revert 的差别?
(12)git rebase -i 和 git reset –soft 压缩多个commit?
(13)几个概念:工作目录Working Directory、暂存区Staging Area、本地仓库Repository(.git directory)、远程仓库;HEAD指针、origin远程仓库名、分支
(14)–set-upstream本地分支和远程分支建立跟踪关系;git merge –no-ff即使原本可以fast-forward,也强制产生一个commit;git push origin –delete branch / git push origin :branch远程分支删除等

中文教程:

  1. git 工作流程 http://www.ruanyifeng.com/blog/2015/12/git-workflow.html
  2. git 常见操作 http://www.ruanyifeng.com/blog/2014/06/git_remote.html

英文原版教程:
ATLASSIAN https://www.atlassian.com/git/tutorials/advanced-overview
Pro Git https://git-scm.com/book/en/v2

译文:代码回滚:Reset、Checkout、Revert 的选择
https://github.com/geeeeeeeeek/git-recipes/wiki/5.2-%E4%BB%A3%E7%A0%81%E5%9B%9E%E6%BB%9A%EF%BC%9AReset%E3%80%81Checkout%E3%80%81Revert-%E7%9A%84%E9%80%89%E6%8B%A9

高级用法:
偶然知道了Git Hook可以用来hook一些操作,比如hook住commit操作,在commit之前检查代码、注释规范等。通过修改.git/hooks目录下面对应的文件内容即可,具体可以上网查。

本文原文发自 某学姐, 转载请保留出处, 谢谢.

Comments