【发布时间】:2016-07-12 21:41:03
【问题描述】:
git fetch origin master:master 是什么意思?
我的意思是master:master 部分:我知道git fetch origin 是什么意思,但是master:master 部分呢?
【问题讨论】:
标签: git version-control
git fetch origin master:master 是什么意思?
我的意思是master:master 部分:我知道git fetch origin 是什么意思,但是master:master 部分呢?
【问题讨论】:
标签: git version-control
remote (origin) 后面的参数是refspecs。
使用master:master 将覆盖您的master 分支;见this answer。
请参阅 this answer 了解更多关于 git fetch 在使用和不使用 refspec 参数时的行为。
【讨论】:
git fetch origin branch:branch 是否与 git pull 调用 branch 完全相同?
git pull 运行两个命令。第一个是git fetch,其行为与git fetch origin branch:origin/branch 非常相似,只是为了处理不常见的特殊情况而使用黄鼠狼措辞(“行为很像”)。 git pull 运行的 second 命令取决于您:您可以让它运行 git merge 或 git rebase。这两者都可能与git fetch 所做的完全不同,因为git merge 和git rebase 都可以创建new 提交。 Fetch 不能:fetch 只能从其他 Git 获取 现有 提交。
git merge 和git rebase 本身都有几个特殊情况,他们不需要创建新的提交,因此不要打扰。 当这种情况发生时你问的那种git fetch可以做同样的工作。那是因为不需要新的提交。 Fetch 不能创建 new 提交,但如果工作足够简单,那么 fetch 可以做到。这就像让你的狗取回鞋子一样:如果它们在它们应该在的地方,那就行了。如果需要去鞋店买新鞋,那要求太多了。 :-)
git fetch origin master:master 吗?