首先要清楚几个概念:
服务器公共仓库,
服务器私人仓库,
本地私人仓库,
服务器公共仓库的分支,
服务器私人仓库的分支,
本地私人仓库的分支
=============================================================================================
首先管理员会创建 ”服务器公共仓库” master主干分支
每个人从 ”服务器公共仓库” master主干分支fork一个自己的"服务器私人仓库"的master主干分支
本地 clone "服务器私人仓库"master主干分支代码
pull 代码到我的"本地私人仓库"的master分支,push代码到我的"服务器私人仓库"master分支
网站 merge我的"服务器私人仓库"的master分支到"服务器公共仓库"的master主干分支
”服务器公共仓库” master分支 收到新代码后, git服务器自动会将代码同步到所有用户的"服务器私人仓库”的master主干分支
别人pull 自己“服务器私人仓库”的master分支代码, 就可以同步别人提交的代码
===========================================================
如果开发一个新版本,例如想单独创建一个2.1.4的分支单独维护,规范的做法是这样的:
1. 在服务器公共仓库里创建一个2.1.4的分支
2. 每个用户在网站上fork一份2.1.4分支的代码,创建了一个"服务器私人仓库"的2.1.4的分支
3. 用户本地git checkout 2.1.4 拉取服务器私人仓库2.1.4的代码,建立了一个“本地私人仓库”的2.1.4分支。
4. 用户修改代码,commit代码(commit前记得先update)到2.1.4"本地私人仓库"的2.1.4的分支上,然后push到"服务器私人仓库"的2.1.4分支上
5. 用户在网页上发起服务器端merge请求,请求将"服务器私人仓库"的2.1.4的分支合并到"服务器公共仓库"的2.1.4分支上
做完了第五步,后面就由git服务器自动将"服务器公共仓库"2.1.4分的代码新的改动自动同步到所有用户的"服务器私人仓库"的2.1.4分支上,
下次别的用户git pull自己的"服务器私人仓库"的2.1.4分支时自然就能拿到你修改的代码