从github克隆代码到本地修改

remote
- master init

local
- master init [1] git clone git@github.com:mouday/domain-admin.git
- my-feature init [2] git checkout -b my-feature

disk
- my-feature init
[3] change file
[4] git diff

将本地代码推送到github

remote
- master init
- my-feature init -> feature-commit [7] git push origin my-feature

local
- master init
- my-feature init -> feature-commit [6] git status / git commit

disk
- my-feature init -> feature-commit [5] git add <change_file>

在本地合并分支代码

remote
- master init -> update
- my-feature init -> feature-commit

local
- master init -> update [9] git pull origin master
- my-feature init -> feature-commit

disk
- my-feature init -> feature-commit [10] git checkout my-feature
- master init -> [8] git checkout master
- master init -> update [9] 同步远端代码 git pull origin master

合并github代码

remote
- master init -> update [13] new pull request
- master init -> update -> update2 [14] 合并改动提交 squash and merge
- my-feature init -> update -> feature-commit [12] git push -f origin my-feature

local
- master init -> update
- my-feature init -> update -> feature-commit

disk

- my-feature init -> update -> feature-commit [11] git rebase master ( 在最新修改基础上合并我的代码)
- master init -> update

合并github代码

remote
- master init -> update -> update2
- my-feature init -> update -> feature-commit [17] 删除远端分支

local
- master init -> update [16] 删除本地分支 git branch -D my-feature
- master init -> update -> update2 [17] 拉取远端仓库最新代码 git pull origin master

disk
- master init -> update [15] git checkout master

参考 ​​十分钟学会正确的github工作流,和开源作者们使用同一套流程​