【发布时间】:2013-04-08 10:27:52
【问题描述】:
我一直在开发一个 git 存储库,并且一直将我的本地更改推送到远程服务器……直到最近。当我执行 git push 时,它说一切都是最新的。实际上,我已经在远程版本之前提交了 3 次提交,并且它没有得到我的更改。
我已经尝试了 git log -1, git reset --hard 在各个地方发布的解决方案,但这并没有解决任何问题。我是否需要更改该数字以反映我领先的提交数量?
假设我有 5 次提交,为了简洁起见,命名为 1 到 5。我的本地版本为 5,远程版本为 2。Gitk 在提交 5 时显示我的 MASTER,在提交 2 时显示 remotes/origin/master。我需要 git 将我的本地版本重置为 2(或 3,第一个未推送到远程的提交)?我的更改会怎样? git 文档说 --hard 将丢弃任何更改,这是否意味着它们将完全丢失?我想保留这 3 次提交的提交历史记录,因为进行了相当多的更改。
【问题讨论】:
-
没有。不,不要硬重置。您将丢失更改。您尝试在服务器中更新的分支的 .git/config 文件有什么?
-
git branch返回什么?你处于分离头模式吗? stackoverflow.com/questions/3965676/why-did-git-detach-my-head/… -
Git 分支给了我这个,ENGBE-X 分支确实是单独的分支。 pastebin.com/pimwZjTr
-
假设我是一个超然的头脑,我是如何到达那里的?我一直在合并分支,所以我认为它会在那里的某个地方。这是 git log 的列表,其中 commit 32320e... 是远程中的最后一个。对我来说,它看起来并不特别。 pastebin.com/uJfaQ9WY 。那么,关于如何解决这个问题的任何想法?
标签: git push commit git-remote