【问题标题】:git error when trying to push to remote branch尝试推送到远程分支时出现 git 错误
【发布时间】:2012-08-09 17:25:27
【问题描述】:

我已经从 git 克隆了存储库 A 的 master 分支,并创建了我自己的名为 Li 的分支。 我前段时间做了一些改动,将本地李的内容推送到远程李。

现在我已经将一些更新从远程 master 拉到本地 master 分支,从本地 master 分支拉到本地 Li,我正在尝试将更新从本地 Li 推送到远程 Li。 但是,当我尝试运行时:

git checkout Li
git push origin Li

我收到以下错误:

error: failed to push some refs to 'git@github.com:anodejs/system.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

请注意,我的本地 master 分支已更新(我调用了 git pull origin master)并合并到本地 Li 分支。但是,我确实为本地 Li 添加了一个新文件,因此本地 Li 与本地 master 不完全相同(但这应该没关系,对吧?)

谢谢, 李

【问题讨论】:

  • 在尝试推送之前,您是否在 Li 分支上提交了更改?
  • 带着同样的问题来到这个问题,这里的答案没有帮助。原来我的问题是我不在分支机构 - 请参阅 stackoverflow.com/a/18601467/5002633 了解我如何诊断/修复它。

标签: git push


【解决方案1】:

git branch --set-upstream-to=origin/master

如果您在“master”分支上遇到错误,请尝试以下命令:

git 分支 --set-upstream-to=origin/master

或者,一个快捷方式: git push -u 起源大师

【讨论】:

    【解决方案2】:

    您可以强制推送更改到远程地址,但它可以产生新的远程分支

    git push subtree_remote_address.git `git subtree split --prefix=subtree_folder`:refs/heads/branch --force
    

    【讨论】:

      【解决方案3】:

      更新被拒绝,因为推送的分支提示位于其遥控器后面。

      git config --global push.default current
      

      尝试上面的命令将当前分支设置为默认分支

      git push
      

      【讨论】:

      • 请注意,此命令会更改 git push 的基本行为,这通常但并非总是如此。想知道这些行为是什么的用户可以查看this questionthis question
      【解决方案4】:

      使用git fetch && git log Li..origin/Li 查找差异。我猜您自上次推送以来已经重新定位或以其他方式重新调整Li,但该命令应该准确地告诉您远程中不在本地的内容。您可以使用三点语法找到其中任何一个(但不是两者)的内容:git log Li...origin/Li

      如果差异是预期的,那么只需与git merge origin/Li 合并,然后与git push 合并。如果不需要更改,请使用git push -f origin Li 覆盖远程。仅当您想放弃遥控器的更改时才这样做。

      【讨论】:

      • 当我调用 fetch&&log 命令时,我可以看到来自 origin/master 的合并拉取请求。但是当我尝试“git merge origin/Li”时,我发现没有什么可以合并的(已经是最新的了!)。我相信 push -f 会起作用,但我认为如果我弄清楚它会帮助我理解 git
      • 放弃了,去 push -f 解决了你所说的问题。谢谢
      • 非常感谢。我在 StackOverflow 上阅读了一些建议,但除此之外没有什么对我有用。你让我很开心,因为我并没有因为 git 的问题而失去我的幽默感 :) 当你逐个测试解决方案并且仍然收到相同的错误消息时,这有点令人沮丧;D 非常好
      猜你喜欢
      • 2017-07-22
      • 1970-01-01
      • 2013-02-28
      • 2011-09-10
      • 2016-07-08
      • 2020-11-15
      • 2021-08-26
      • 2012-07-25
      • 2013-03-28
      相关资源
      最近更新 更多