1.相关命令
git fetch :从远程版本库抓取对象及其相关的元数据。
git pull : 和git fetch 类似,但是合并修改到响应分支。git pull操作有两个步骤,先是git fetch,然后执行git merge 或 git rebase.
git push : 转移对象及其相关的元数据到远程版本库。
2.图解远程版本库开发周期
2.1带简单提交的版本库:
2.2克隆版本库
git clone会产生两个单独的版本库。
原始版本库中的master分支被引入到克隆版本库中的一个名为origin/master的新远程追踪分支。
2.3 交替的历史记录
你在你本地版本库中做开发,在master分支上做出新提交:
2.4非快送推进
如果你正在把你的修改push到远程版本库中,但是某个其他开发人员之前推送过提交,则会出现问题。因为那里已经是一个不同的历史记录了,origin的历史记录不会简单的从B快进,这种情况称为非快进推送问题。
2.5 获取交替历史记录
如果交替历史记录由于克隆而在不同的版本库中,则必须通过抓取操作将远程分支纳入你的版本库:
2.6 合并历史记录
当两个历史记录都存在一个版本库中,则可以将origin/master分支合并到master分支。
合并操作可以使用git merge origin/master来发起。
2.7 推送合并后的历史记录
如果你完成了以上所有步骤,那么你的版本库中已经更新到包含origin版本库和你的版本库中最新的变更。
但是反过来不成立,origin版本库里仍然没有你的变更。
使用git push可以吧同一合并后的历史记录从你的master分支上推送回origin版本库。