正在推遥控器,就像遥控器拉你一样?

时间:2012-01-27 09:41:56

标签: git

假设您从git push remote_a开始remote_b。这与git pull remote_b的{​​{1}}相同吗?

仅供参考:我正在尝试处理底层机制并提高我对git的理解。我已经阅读了很多教程,但感觉就像我刚开始时一样困惑!

2 个答案:

答案 0 :(得分:1)

虽然两者都做同样的事情,但只需按下即可获取+合并。要从remote_a推送并从remote_b中提取,您应该在每侧的配置文件中都有适当的条目。

答案 1 :(得分:0)

他们并不完全相同。 pull会将提交与当前分支合并,但push不会合并,并说"拒绝"。

例如,如果X是常见提交

remote-a:X - A - B

remote-b:X - P - Q

remote-a >> git pull remote-b brach

将合并两个分支,您可能会有类似

的内容

X-A-B-P' -Q'

但这与

不相似
remote-b >> git push remote-a branch

会说!rejected

嗯,这是Github行为。我没有使用其他遥控器,但我猜推拉的行为将保持不变。

来自git help push的{​​{1}}标志

的注释
  

通常,该命令拒绝更新不是的远程引用   用于覆盖它的本地ref的祖先。这面旗帜              禁用检查。这可能导致远程存储库丢失提交;小心使用它。