“git merge foo”和“git merge origin/foo”有什么区别?

德文大行

有什么区别:

(master) ~ $ git merge foo

(master) ~ $ git merge origin/foo

当我做第一个时,它告诉我“已经是最新的”,第二个时,我得到了一堆更新和评论以保存在我的默认编辑器 (vim) 中。就像它是两个不同的分支。但如果我这样做git branch -r,我有:

  origin/dev
  origin/foo
  origin/master

如果我这样做git branch,我有:

* dev
  foo
  master

我对origin/前缀有点困惑

蒂姆·比格莱森

命令:

git merge foo

说要合并到当前签出的分支中,本地分支称为foo“本地”是指foo您可能一直在其上工作分支的本地版本

命令:

git merge origin/foo

说要合并到当前签出的分支中,名为 的远程跟踪分支origin/foofoo并且origin/foo可能指向同一个提交,也可能不是。例如,如果您最近提取过数据,那么它可能(甚至可能)origin/foofoo您机器上的本地数据更新

顺便说一下,如果您想知道远程跟踪分支的用途是什么,这些分支是您机器上的本地分支,它们作为存储库中真正远程分支的代理存在。Git 操作主要在本地运行,这种分布式支持是 Git 强大的原因之一。

有关附加信息,假设您想通过以下方式将本地foo分支送到远程:

git push origin foo

在这种情况下,origin实际上是指远程 Git 存储库(例如 GitHub 或 Bitbucket 之类的东西),并且foo指的是您要推送的本地分支。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章