git 提供相当灵活的协作方式,最常见的方式为:协作者获得原始版本库的镜像,并在上面工作;发起者从协作者那里获取更新
协作者通过git clone创建一个镜像版本库:
git clone user@url:~/path [local]
网络对于 git 来说是透明的,凡是可以访问的位置,如 http、ftp、ssh……,甚至本地路径,对于 git 来说没有什么区别。
通过以下命令,创建一个本机原始版本库sandbox
的镜像project
,是允许的:
git clone ~/sandbox project
对于没有指定协议的远程路径,git 默认使用 ssh
(ssh://)
user@
127.0.0.1:
~/sandbox
使用git pull获取协作者版本库中的内容:
git pull user@127.0.0.1:~/sanbox master[:newest]
提示 | |
---|---|
git pull 基于“版本”操作,也就是说,只有提交后才可以进行;这个命令会比较两个版本的时间戳,只获取更新的版本 |
当发起者进行了更新后,协作者应从发起者那里获取最新的原始版本库,并将当前工作迁移到最新的原始版本库基础上
git fetch origin #获取最新原始版本库 git rebase origin/master #将工作迁移到最新原始版本库
这时发起者再次使用 git pull 从协作者那里获取更新……