通过文件协作
git 可以通过补丁文件进行协作(使用 email 传送补丁文件)
首先通过 git clone 创建一个镜像版本库,使用 git branch -a
命令查看所有分支
$ git clone http://linuxtoy.org/path [local]
$ cd [local]
$ git branch -a
* master
origin/HEAD
origin/master
原始版本库路径 | |
镜像版本库路径。它是可选的,如果没有指定,则使用和发起者同样的路径(文件夹名称) |
其中origin
为原始版本库镜像,在 master 分支上的工作,要生成对于 origin 的补丁,origin 必须与原始版本库保持一致,不要试图修改它
git fetch origin #更新 origin 分支。如果 origin 分支不是最新的原始版本库,会产生错误的补丁文件
git rebase origin #将工作迁移到最新原始版本库基础上
git format-patch origin #生成补丁文件
- 使用 git rebase 后可能会产生冲突,手动处理
生成的补丁文件为 0001-[备注].patch
,发起者得到补丁后,使用 git am 命令将这个补丁应用到版本库
git checkout -b patched
git am 0001-[备注].patch
git checkout master
git diff master patched
git merge patched
为谨慎起见,创建一个名为 “patched” 的分支,切换到此分支 | |
在 “patched” 分支中应用补丁 |