甚至可能吗?
基本上,有一个远程存储库,我只使用:
git pull
现在,我想预览一下这个拉动会改变什么(一个差异),而不涉及我身边的任何东西。原因是我要拉的东西可能不是“好”的,我希望其他人在使我的存储库“变脏”之前修复它。
执行 a 后git fetch,执行 agit log HEAD..origin/master以显示您最后一次常见提交和源主分支之间的日志条目。要显示差异,请使用git log -p HEAD..origin/master显示每个补丁,或git diff HEAD...origin/master(三个点而不是两个点)显示单个差异。
git fetch
git log HEAD..origin/master
git log -p HEAD..origin/master
git diff HEAD...origin/master
通常不需要撤消提取,因为执行提取只会更新 远程 分支,而不会更新 您的 分支。如果您不准备在所有远程提交中进行拉取和合并,则可以使用git cherry-pick仅接受您想要的特定远程提交。稍后,当您准备好获取所有内容时, agit pull将合并到其余的提交中。
git cherry-pick
更新:我不完全确定您为什么要避免使用 git fetch。git fetch 所做的只是更新远程分支的本地副本。此本地副本与您的任何分支都没有任何关系,并且与未提交的本地更改没有任何关系。我听说有人在 cron 作业中运行 git fetch,因为它非常安全。(不过,我通常不建议这样做。)