【问题标题】:GIT push not pushing commits to remoteGIT push 不将提交推送到远程
【发布时间】: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


【解决方案1】:

几分钟前我也遇到了同样的情况(这就是我进入这个帖子的原因)。 Anwyay,我能够通过 git push origin master 而不仅仅是 git push 来解决它。

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

【讨论】:

  • 讽刺地。我确实推动了起源大师。但仍然
【解决方案2】:

首先仔细检查您的配置。

  1. 确保您确实推送了它。
  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?

最后,确保您使用的是正确的推送表示法:

  1. git push publicgit push --repo=public 之间存在差异。第一个总是推送到公共,第二个仅当您要推送的分支的远程未设置
  2. 如果您的分支与远程分支的名称不同,这可能会有所不同。

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

希望这会有所帮助。就我而言,在重新检查我尝试过的命令时仔细阅读手册有助于并揭示问题(交换了分支名称)。

【讨论】:

    猜你喜欢
    • 2013-08-01
    • 1970-01-01
    • 2017-04-11
    • 2013-12-06
    • 2012-08-26
    • 2014-11-03
    • 2013-03-07
    • 2014-01-25
    • 2010-11-20
    相关资源
    最近更新 更多