4

这个问题主要是因为我所在的咖啡馆的 wifi 连接不好。我对我的本地仓库进行了一些更改,每次我做一次我都会正确推送。我最近做的一个互联网连接是打开和关闭的,所以它确实 push 并且 git log 会显示 commit ,但是 git status 显示我的本地和远程之间存在差异。

由于我上次的推动是成功的,我想我会这样做

git fetch origin
git reset --hard origin/master

但是废话,这摆脱了我今天所做的所有提交,而 head 现在是我昨天所做的一些提交,当我去 bitbucket 查看 repo 时,它甚至没有显示今天的更改。

有人请告诉我,我不只是把自己搞砸了吗?有解决办法吗?

4

1 回答 1

12

检查git reflog以查看所有最近活动的提交哈希。

Git 不会在至少 2 周内对无法访问的提交进行垃圾收集(除非您明确告诉它这样做)

或者,git log -g可能会帮助您:

-g, --walk-reflogs

不是遍历提交祖先链,而是将 reflog 条目从最近的条目遍历到较旧的条目。

于 2013-10-30T00:50:26.153 回答