首页 > 解决方案 > 使用 git push 删除本地更改

问题描述

我有局部变化。切换分支以查看其他内容时,我收到了警告。像我一样聪明,我创建了一个新的分支,推送了我的本地更改,但忘记添加和提交......我想这就是我的错误发生的地方。

$ git push origin reste
-Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
-remote:
-remote: Create a pull request for 'reste' on GitHub by visiting:
....

我暂时没有注意到我的错误并继续检查其他分支。回到我的分支后,一切都消失了。我知道我在早上 5:30 的本地记忆仍在工作。我可以取回我的更改吗?

标签: gitpush

解决方案


值得一提的是,它git push不会删除任何内容。1 但是,如果您得到这种输出:

Total 0 (delta 0), reused 0 (delta 0), pack-reused 0

这也意味着这git push也没有真正推动任何事情。如果您做了其他删除某些内容的操作,那可能是问题的根源。


1如果您使用git push从存储库推送到本地计算机上的存储库添加,则存在例外--force,但您没有这样做。至少可以说,用于git push从您的计算机推送到自身是有点不寻常的。(你用 来做这件事git push .,这本身是毫无意义的。有些人喜欢你可以通过这种方式获得的特殊效果,但是,当使用更完整的refspecgit pushgit push . br1:br2例如。你可能会让自己陷入麻烦——删除东西——通过做git push --force . br1:br2。但是,同样,你没有这样做,所以你git push没有删除任何东西。)


推荐阅读