我已经阅读了一些关于获取与拉取的文章。我知道将其推送到您需要获取的遥控器。我也了解,如果您需要签出添加到遥控器的分支,则需要从遥控器获取以更新本地跟踪分支。我的问题是为什么我不只是简单地拉一下?为什么大多数开发人员建议改为执行提取操作?在什么情况下您只是在进行提取?为我画一个场景。
答案 0 :(得分:1)
git fetch
更新存储库的本地副本,但不会修改工作目录中的任何文件。它只是确保它具有关于您获取的存储库的缓存信息是最新的。 (如果自从您上次访存以来,其他人创建了新分支或添加了一些提交,则git将会了解它们。)
git pull
is shorthand代表git fetch
,后跟git merge FETCH_HEAD
。也就是说,它运行git fetch
,然后将来自远程存储库的更改合并到您当前的分支和工作目录中。 (如Mark所指出的,这实际上修改了HEAD
。)
因此,您应使用的命令取决于您是否要使用自上次拉取以来其他人所做的提交来更新工作目录。
答案 1 :(得分:0)
您希望在远程服务器上看到任何更新时获取,但又不想立即将任何此类更改集成到当前分支中。
那是唯一普遍适用的答案;其他任何事情都只是基于特定工作流程和特定用户偏好的示例;则可能适用于您,也可能不适用。