【问题标题】:What does `git fetch origin master:master` mean?`git fetch origin master:master` 是什么意思?
【发布时间】:2016-07-12 21:41:03
【问题描述】:

git fetch origin master:master 是什么意思?

我的意思是master:master 部分:我知道git fetch origin 是什么意思,但是master:master 部分呢?

【问题讨论】:

    标签: git version-control


    【解决方案1】:

    remote (origin) 后面的参数是refspecs

    使用master:master 将覆盖您的master 分支;见this answer

    请参阅 this answer 了解更多关于 git fetch 在使用和不使用 refspec 参数时的行为。

    【讨论】:

    • 也许这不是问的正确地方,但似乎也不要为它单独提出问题。 git fetch origin branch:branch 是否与 git pull 调用 branch 完全相同?
    • @C.Binair:不,这些——至少可能是——非常不同,因为git pull 运行两个命令。第一个是git fetch,其行为与git fetch origin branch:origin/branch 非常相似,只是为了处理不常见的特殊情况而使用黄鼠狼措辞(“行为很像”)。 git pull 运行的 second 命令取决于您:您可以让它运行 git mergegit rebase。这两者都可能与git fetch 所做的完全不同,因为git mergegit rebase 都可以创建new 提交。 Fetch 不能:fetch 只能从其他 Git 获取 现有 提交。
    • @C.Binair:这里的棘手部分是git mergegit rebase 本身都有几个特殊情况,他们不需要创建新的提交,因此不要打扰。 当这种情况发生时你问的那种git fetch可以做同样的工作。那是因为不需要新的提交。 Fetch 不能创建 new 提交,但如果工作足够简单,那么 fetch 可以做到。这就像让你的狗取回鞋子一样:如果它们在它们应该在的地方,那就行了。如果需要去鞋店买鞋,那要求太多了。 :-)
    • `git fetch --all` 会覆盖git fetch origin master:master 吗?
    • @KeithThompson:除了别名或脚本,没有。显然与脚本(或 shell 别名)无关。 Git 别名很奇怪而且很乱,所以我会使用调用 shell 函数的 Git 别名。
    猜你喜欢
    • 2019-10-30
    • 2021-04-04
    • 2014-06-08
    • 2018-09-21
    • 2011-07-13
    • 2013-03-04
    • 2015-03-30
    • 2011-12-09
    • 2015-03-18
    相关资源
    最近更新 更多