我对 git 有了透彻的了解,以及 pull、fetch 和 merge 之间的区别。我有一个 Remote ,我偶尔会跟踪、获取和 merge ,假设它是 origin/master。我想要做的是扭转“git fetch”的行为。这听起来很愚蠢,但我想取消更新我的远程跟踪分支指向的位置,到一个较旧的状态,即上次获取之前的状态。这可能吗?
例如,假设这是我的工作流程...
git show origin/master # shows commit abc123
git fetch # yay i got something!
git show origin/master # shows commit def456
这里有神秘命令,这样...
git show origin/master # shows commit abc123
这有点奇怪,但我有一个 crontab,它监视 git 存储库以检测何时需要获取某些内容,并且我在调试基于此行为执行某些操作的脚本时遇到了问题。我不想等待 origin/master 更改,而是想自己更改它以便调试我的脚本!
最佳答案
你想要
git update-ref refs/remotes/origin/master refs/remotes/origin/master@{1}
update-ref
想要它正在更新的 ref 的完整拼写,因为它比遵守 ref 命名约定的命令(低得多)级别。
关于git - 反转 git fetch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15254480/