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