git fetch的常见用例是什么?

时间:2013-01-21 18:06:18

标签: git version-control fetch

我正在学习Git,并帮助一些同事加快速度。到目前为止,我还没有找到使用git fetch的充分理由。与明智地使用git pull甚至git pull --rebase相比,它似乎没有太大的实用性。

我和同事讨论了这个问题,他提出了一些相对狭隘和人为的情况,其中git fetch将在工作流程中独立使用,但我仍然不相信(例如更新没有设置上游源的分支,在提交之前需要更新到本地存储库而没有冲突)。

是否有定期使用git fetch的良好用例?

2 个答案:

答案 0 :(得分:2)

我只是想知道是否有新的变化时使用它。

另一个用例是git fetch -t,如果移动了标签,这是必要的(恕我直言,这不是一个好主意)。

答案 1 :(得分:2)

我一直都在使用它,特别是当我想更新本地仓库上游仓库的某些方面而没有触及我的工作副本时:

  1. 只是为了获取标签(比如当其他人添加了发布标签时)
  2. 获取我之前没有使用的新远程分支(可能开始跟踪其他人创建的功能分支)
  3. 仅更新origin/master而不影响master
  4. 至于为什么我可能会关心pull触摸我的工作副本,这可能是因为:

    1. 我当前的分支上有未提交的更改,我不想提交
    2. ...并且不想仅为此隐藏它们
    3. 我关心当前的HEAD或工作树状态(也许我有一个在后台运行的构建,并且不能在其下面pull更新源文件)