1、从公共远程fork一份自己的本地远程之后,从本地远程 clone 到本地
2、将本地代码跟公共远程代码做关联配置
git remote add upstream https://github.com/volojs/create-template.git
3、此时查看本地代码所配置的远程有哪些
git remote -v
origin https://github.com/suqiuhui/create-template (fetch)
origin https://github.com/suqiuhui/create-template (push)
upstream https://github.com/volojs/create-template.git (fetch)
upstream https://github.com/volojs/create-template.git (push)
4、创建一个新的分支 dev (注意:并不是在当前的分支上新拉一个分支,而是创建一个新的空白分支)
git branch dev
5、切到新建的分支上
git checkout dev
6、查看一下当前的本地分支与远程分支的关联关系
git branch -vv
dev 9004b7b requirejs 2.3.3
master 9004b7b [origin/master] requirejs 2.3.3
7、将本地新建分支push到自己的本地远程origin上,因为只是在本地创建了一个新的分支,远程 origin 上还并没有该分支呢
git push origin dev
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/suqiuhui/create-template
* [new branch] dev -> dev
注:但此操作只相当于在远程origin上新建了一个dev分支,并没有将本地dev分支与origin上的dev分支做任何关联处理操作,即两者还是相对独立的状态,可通过 步骤6 查看
8、把本地dev分支与远程origin的dev分支进行关联处理(通过 --set-upstream 命令)
git branch --set-upstream dev origin/dev
--set-upstream 该命令已废弃,改作--set-upstream-to了,使用如下,在dev分支下运行
git branch --set-upstream-to=origin/dev 或者
git branch -u origin/dev
9、此时再次通过 步骤6 查看分支的关联关系,可见本地dev分支已于origin的dev分支建立上了关联关系
git branch --vv
* dev 9004b7b [origin/dev] requirejs 2.3.3
master 9004b7b [origin/master] requirejs 2.3.3
10、接下来可从upstream远程某个分支上往本地新建分支上pull代码,
再从本地dev分支提到本地远程origin的dev分支上,
再通过从 origin 的 dev 分支上 new pull(merge) request 到 upstream 的 master 分支上(如下图),并等待有upstream 代码合并权限的人员通过即可
git pull upstream master
git push origin dev
至此,通过代码管理工具git,就完成了一次完整地代码管理操作过程,此后单dev分支上开发只需重复操作 步骤10 即可,
如果遇到需要紧急处理的bug,可通过上边 步骤1-10 完整操作另建bug修复分支,待bug修复完成再将此bug修复分支删除即可