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

流程图
init
- Remote: [main]init 
- Local: null 
- Disk: null - git clone
- Remote: [main]init 
- Local: [main]init 
- Disk: init - git checkout -b my-feature- 新建功能分支 
- Remote: [main]init 
- Local: [main]init [my-feature]init 
- Disk: init - 修改代码
- Remote: [main]init 
- Local: [main]init [my-feature]init 
- Disk: changes 进行下一步之前最好用git diff查看改了什么 - git add , commit
- Remote: [main]init 
- Local: [main]init [my-feature]init -> f-commit 
- Disk: f-commit - git push origin my-feature
- Remote: [main]init -> update(some-other-people) [my-feature]init -> f-commit 
- Local: [main]init [my-feature]init -> f-commit 
- Disk: f-commit - git checkout main
- Remote: [main]init -> update [my-feature]init -> f-commit 
- Local: [main]init [my-feature]init -> f-commit 
- Disk: init - git pull origin main
- Remote: [main]init -> update [my-feature]init -> f-commit 
- Local: [main]init->update [my-feature]init -> f-commit 
- Disk: update - git checkout my-feature
- Remote: [main]init -> update [my-feature]init -> f-commit 
- Local: [main]init->update [my-feature]init -> f-commit 
- Disk: f-commit - git rebase main- 可能出现rebase conflict, 需要手动解决 
- Remote: [main]init -> update [my-feature]init -> f-commit 
- Local: [main]init->update [my-feature]init -> update -> f-commit 
- Disk: f-commit - git push -f origin my-feature
- Remote: [main]init -> update [my-feature]init -> update -> f-commit 
- Local: [main]init->update [my-feature]init -> update -> f-commit 
- Disk: f-commit - new pull request(in github)
- Remote: [main]init -> update [my-feature]init -> update -> f-commit 
- Local: [main]init->update [my-feature]init -> update -> f-commit 
- Disk: f-commit - 维护者: squash and merge- feature上众多改变合并为一个改变 
- Remote: [main]init -> update -> update2 [my-feature]init -> update -> f-commit 
- Local: [main]init->update [my-feature]init -> update -> f-commit 
- Disk: f-commit - delete branch my-feature
- Remote: [main]init -> update -> update2 
- Local: [main]init->update [my-feature]init -> update -> f-commit 
- Disk: f-commit - git checkout main & git branch -D my-feature
- Remote: [main]init -> update -> update2 
- Local: [main]init->update 
- Disk: update - git pull origin main- 完结 
- Remote: [main]init -> update -> update2 
- Local: [main]init -> update -> update2 
- Disk: update2