补丁提交原则:
1. 总是将补丁提交给对当前改动最熟悉的直接上游开发者。
2. 每份补丁功能尽可能单一化。
下游开发者补丁生成方法:
1. 将直接上游开发者新主发布分支 master 克隆到本地。
git clone REPO_URL
2. 从上述分支复制出一个自己的开发分支 dev。
git checkout -b dev
3. 在自己的开发分支 dev 上修改、提交。
git commit
4. 将主发布分支 master 更新到最新。
git checkout master && git pull origin master
5. 从最新的主分支 master 复制出提交分支 post。
git checkout -b post master
6. 将开发分支 dev 合并到提交分支 post。
git merge dev
7. 通知上游开发者从自己的仓库把 post 分支合并到主开发分支 master。
8. 删除自己的开发分支 dev 和提交分支 post,从上游开发者合并后的主分支 master 复制新的开发分支 dev 。
git branch -D dev post
上游开发者合并下游补丁方法:
1. 把下游开发者仓库增加到本地远程仓库。
git remote add DEVELOPER_NAME REMOTE_REPO_URL
2. 更新下游开发者远程仓库。
git fetch DEVELOPER_NAME
3. 把下游开发者提交分支向 master 分支合并。
git checkout master && git merge remotes/DEVELOPER_NAME/post
这样做基本解决了上游开发者合并补丁时的冲突问题,将可能出现冲突的合并工作留给最熟悉的开发者做。同时在主发布分支上保留了各个开发者的提交,各级开发者从主分支中也可以方便的检索到自己的改动,便于后期的开发工作。
希望有Git的GUI界面啊……
好像已经有的。
windows下面也有,http://ihipop.info/2010/02/583.html
TortoiseGIT,和TortoiseSVN用法一样。