【问题标题】:Your branch is ahead of 'origin/master' by 3 commits您的分支领先于 'origin/master' 3 次提交
【发布时间】:2013-04-23 16:21:45
【问题描述】:

我在运行git status时得到以下信息

Your branch is ahead of 'origin/master' by 3 commits.

我在其他帖子上阅读了解决此问题的方法是运行git pull --rebase,但究竟什么是变基,我会丢失数据还是这种与主同步的简单方法?

【问题讨论】:

  • 我不认为这是重复的......这个问题是问它是什么意思,而另一个问题是询问如何丢弃更改。
  • 这是怎么被这么多人标记为重复的?这个问题显然表明这个人不想放弃他们的改变。他们进行了更改并且对消息感到困惑。所谓的重复问题会让这个人失去他们的变化。
  • 我不得不说,上面链接的问题并不是这个问题的重复......
  • @DerekGreer:这是如何标记为重复的?因为大多数将问题标记为重复问题的人都懒得真正阅读和理解问题。如果有表面上的相似之处,他们就会得出两者相同的结论,这将取决于 OP 或其他愿意花时间仔细重复最初应该显而易见的事情的人,如果骗子猎人其实很在意。
  • ^^^ 的做法是杀死 SO,IMO。

标签: git git-rebase


【解决方案1】:

这发生在我在 Bitbucket 上合并拉取请求后一次。

我只需要这样做:

git fetch

我的问题解决了。我希望这会有所帮助!!!

【讨论】:

    【解决方案2】:

    如果你的 git 说你要提前提交,那么只需 首先,

    git 推送来源

    为了确保你已经在 repo 中推送了你所有的最新作品

    那么,

    git reset --hard origin/master

    重置和匹配回购

    【讨论】:

      【解决方案3】:

      通常如果我必须检查哪些提交与我做的主不同:

      git rebase -i origin/master
      

      通过这种方式,我可以看到提交并决定放弃或选择...

      【讨论】:

      • 这个低调的回答一直到这里是我需要做的。我不知道如何找出差异,我所有的各种git diff ... 魔法都不起作用。当我这样做时,它给了我noop 作为唯一的提交,当我接受它时,现在我的分支与 origin/master 同步。所以看起来来自 origin/master 的提交差异实际上没有任何效果。
      【解决方案4】:

      我在 Bitbucket 上合并拉取请求后遇到了这个问题。

      不得不做

      git fetch
      

      就是这样。

      【讨论】:

      • 我正在处理来自一个包的 repo,并且能够通过将“git fetch”应用于当前包来摆脱该消息。 tnx!
      • 在只读签出时,我的 git 状态显示我提前 2 次提交,日志看起来应该是 - 所有提交都在源中。我做了一个 git pull 并且提前 5 次提交..WTF ????只需要获取刷新本地索引......一切都很好:)
      【解决方案5】:

      使用这 4 个简单的命令

      第一步git checkout <branch_name>

      进入那个分支很明显。

      第 2 步git pull -s recursive -X theirs

      如果发生冲突,请进行远程分支更改并替换为他们的更改。 在这里,如果您执行git status,您将得到类似这样的结果您的分支比 'origin/master' 领先 3 次提交。

      第三步git reset --hard origin/<branch_name>

      第四步git fetch

      硬重置你的分支。

      享受吧。

      【讨论】:

        【解决方案6】:

        来自git 的这条消息意味着您已经在本地仓库中提交了三个提交,并且尚未将它们发布到master 仓库。为此运行的命令是git push {local branch name} {remote branch name}

        命令git pull(和git pull --rebase)适用于另一种情况,即远程存储库中存在本地存储库中没有的提交。 --rebase 选项意味着git 会将您的本地提交移到一边,与远程仓库同步,​​然后尝试从新状态应用您的三个提交。如果存在冲突,它可能会失败,但系统会提示您解决它们。如果您不知道如何使用git rebase --abort 解决冲突,您也可以中止rebase,您将回到运行git pull --rebase 之前的状态。

        【讨论】:

          【解决方案7】:

          您收到该消息是因为您在本地 master 中进行了更改,并且没有将它们推送到远程。您有几种“解决”它的方法,通常取决于您的工作流程:

          • 在良好的工作流程中,您的 master 远程副本应该是好的,而您的本地 master 副本只是远程副本的副本。使用此工作流程,您将永远不会再收到此消息。
          • 如果您以其他方式工作并且应该推送本地更改 然后只需 git push origin 假设来源是您的遥控器
          • 如果您的本地更改不正确,则只需删除它们或重置您的 远程状态的本地主控 git reset --hard origin/master

          【讨论】:

          • git reset --hard origin/master 正是我想要的。谢谢。
          • @iberbeu 你解决了我的问题...git reset --hard origin/master 是我正在寻找的。 +1ed
          • 另外 fwiw git diff master origin/master(即git diff local remote)查看您将要删除的更改
          • 我在远程源/分支上有本地/master,所以使用返回 Everything up-to-dategit push origin master:branch,之后 x 提交领先的消息消失了。
          • 最后一个给了我我需要的东西!
          【解决方案8】:

          没有什么可以解决的。您只是做了 3 次提交,还没有将它们移动到远程分支。有多种选择,具体取决于您要执行的操作:

          • git push:将您的更改移动到遥控器(如果遥控器上已经有其他更改,这可能会被拒绝)
          • 什么都不做,继续编码,改天同步
          • git pull:从远程获取更改(如果有)并将它们合并到您的更改中
          • git pull --rebase:同上,但尝试在远程更改之上重做您的提交

          您处于典型情况(尽管通常在大多数工作流程中您不会在 master 上提交很多内容)。以下是我通常会做的:查看我的更改。也许做一个git rebase --interactive 给它们做一些化妆品,丢掉那些糟糕的,重新排列它们以使它们更合乎逻辑。现在使用git push 将它们移动到远程。如果因为我的本地分支不是最新的而被拒绝:git pull --rebase 在最近的更改之上重做我的工作并再次git push

          【讨论】:

          • 我使用了 git pull --rebase,但它现在显示我领先一个提交
          • 所以我进行了更改,推送到 master,然后我们的团队负责人合并到 master。所以这些变化就在那里,我只需要与当前的主人同步。
          • @MartyMcFly 很难看出这里发生了什么。你说你已经推了?那么,为什么您仍然提交不在 master 上的内容? your team lead merged to master 是什么意思?你不是说你已经推到master了吗?额外的提交包含什么?试试git diff origin/master 看看你的本地分支与远程分支有何不同。
          • 感谢您的帮助,如果我在解释情况时做得不好,请见谅。但我正在寻找的是 git reset --hard origin/master。但是您的回答对 +1 很有帮助。
          • 我似乎陷入了困境,我试图提交更改,然后 git 说:你领先 11 次提交。我不允许更新远程存储库,因此无法推送。 “git pull”说:已经是最新的了。所以我尝试了你的第三个建议,但是 git 说:不能用 rebase 拉:你有未分级的更改。请提交或隐藏它们。呃,这就是我最初到达这里的方式:-(
          猜你喜欢
          • 2012-04-27
          • 2011-01-21
          • 1970-01-01
          • 1970-01-01
          • 2022-01-04
          • 2021-07-02
          • 2017-05-19
          相关资源
          最近更新 更多