GIT推动不会将提交推送到远程

时间:2013-04-16 06:07:19

标签: git push commit git-remote

我一直在使用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次提交的提交历史记录,因为有相当多的更改。

2 个答案:

答案 0 :(得分:2)

首先仔细检查您的配置。

  1. 确保你真的推了它。
  2. 确保您已将其推到您认为推动它的位置。
  3. 什么可以帮到你:

    $ 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?
    

    最后,请确保使用正确的推送符号:

    1. git push publicgit push --repo=public之间存在差异。首先推送公共ALWAYS,第二个仅当远程用于您正在推送的分支未设置
    2. 如果您的分支的名称与其远程对应分支的不同,则可能会有所不同。
    3. $ 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)

几分钟前我处于相同的情况(这就是我徘徊在这个线程中的原因)。 Anwyay,我能够通过 git push origin master 而不仅仅是 git push 来解决这个问题。

这是在我创建了一个新分支后,开始推送到新分支,然后又回到主分支并尝试再次推送到该分支。