我一直在使用git存储库,并一直将我的本地更改推送到远程服务器......直到最近。当我做一个git push时,它说一切都是最新的。实际上,我已经在远程版本之前提交了3个提交,但它没有得到我的更改。
我已经尝试过git log -1,git reset - 在各个地方发布的硬解决方案,但这并没有解决任何问题。我是否需要更改该数字以反映我的提交次数?
假设我有5次提交,因为brevetys名为1到5.我的本地版本是5,远程版本是2.Gitk在提交5显示我的MASTER,在提交2显示我的MASTER / origin / master。我需要git将我的本地版本重置为2(或3,第一次没有被推送到远程的提交)?我的变化会怎样? git文档说--hard会丢弃任何更改,这是否意味着它们会完全丢失?我想保留这3次提交的提交历史记录,因为有相当多的更改。
答案 0 :(得分:2)
首先仔细检查您的配置。
什么可以帮到你:
$ git log --full-history // is your commit really there?
$ git reflog // operation history
$ git remote -v // what are your remotes?
$ git remote show DESIRED_REPO // do you have the remote repo you wanted to push to configured? the DESIRED_REPO?
最后,请确保使用正确的推送符号:
git push public
和git push --repo=public
之间存在差异。首先推送公共ALWAYS,第二个仅当远程用于您正在推送的分支未设置。 $ git push remote local_branch:remote_branch // I've made this error today by swapping places, with remote_branch:local_branch Git will not find the branch to update.
希望这会有所帮助。在我的情况下,仔细重新阅读手册,同时重新检查我尝试过的命令,并揭示了问题(交换分支名称)。
答案 1 :(得分:1)
git push origin master
而不仅仅是 git push
来解决这个问题。
这是在我创建了一个新分支后,开始推送到新分支,然后又回到主分支并尝试再次推送到该分支。