为什么 git checkout master 会重置我的编辑?

发布于 2024-11-13 21:52:26 字数 142 浏览 4 评论 0原文

基本上,我已经在 master 分支中工作(我没有签出到另一个分支)并且在执行 git add 之后。和 git commit,我不小心运行了 git checkout master,现在当我执行 git Push 时,它说一切都是最新的(但当然不是)。相当奇怪的一个。

Basically, I was working already in the master branch , (I hadn't checked out to another branch) and after doing git add . and git commit, I accidentally ran git checkout master, now when I do git push it says everything is up to date (but ofcourse its not). Quite an odd one.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

看轻我的陪伴 2024-11-20 21:52:26

如果您已经在 master 上并且执行 git checkout master ,则不会发生任何事情,因此您一定做了一些未包含在您的问题中的事情。

执行 gitk --all。您是否在本地 master 或 origin/master 上看到您的提交?如果没有,则执行 git reflog 并查找您的提交。也许您处于分离的 HEAD 状态,因此提交没有保存到任何分支。在这种情况下,请确保您已签出 master 并 gitcherry-pick 。

最坏的情况是你以为你提交了,但你没有,然后你以为你签出了 master,但你实际上签出了你编辑的文件,从而在保存到 git 之前覆盖了你的更改。如果您在转发日志中没有看到任何内容,则可能发生了类似的事情。

If you're already on master and you do git checkout master nothing will happen, so you must have done something that's not included in your question.

Do gitk --all. Do you see your commit either on local master or on origin/master? If not then do git reflog and look for your commit. Maybe you were in a detached HEAD state so the commit didn't get saved to any branch. In that case make sure you have master checked out and git cherry-pick .

Worst case scenario is you thought you committed, but you didn't, and then you thought you checked out master, but you actually checked out the file you edited, thus overwriting your changes before they were saved to git. If you don't see anything in reflog, probably something like that happened.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文