[英]Your branch is ahead of 'origin/master' by 3 commits
运行git status
时我得到以下信息
Your branch is ahead of 'origin/master' by 3 commits.
我在其他一些帖子上读过解决这个问题的方法是运行git pull --rebase
但究竟什么是 rebase,我会丢失数据还是这种与 master 同步的简单方法?
您收到该消息是因为您在本地 master 中进行了更改,并且没有将它们推送到远程。 您有多种“解决”方法,这通常取决于您的工作流程:
git push origin
假设 origin 是您的远程git reset --hard origin/master
没有什么可以解决的。 您只是进行了 3 次提交,但尚未将它们移动到远程分支。 有多种选择,具体取决于您要执行的操作:
git push
:将您的更改移动到远程(如果远程上已经有其他更改,这可能会被拒绝)git pull
:从远程获取更改(如果有)并将它们合并到您的更改中git pull --rebase
:如上所述,但尝试在远程更改之上重做您的提交您处于经典情况(尽管通常在大多数工作流程中您不会在 master 上提交很多内容)。 这是我通常会做的事情: 查看我的更改。 也许做一个git rebase --interactive
对它们做一些装饰, git rebase --interactive
那些git rebase --interactive
的东西,重新排列它们以使它们更合乎逻辑。 现在使用git push
将它们移动到远程。 如果这因为我的本地分支不是最新的而被拒绝: git pull --rebase
在最近的更改之上重做我的工作,然后再次git push
。
第 1 步: git checkout <branch_name>
进入那个分支是显而易见的。
第 2 步: git pull -s recursive -X theirs
如果发生冲突,进行远程分支更改并替换它们的更改。 在这里,如果你执行git status
你会得到这样的东西,你的分支比'origin/master'领先3次提交。
第 3 步: git reset --hard origin/<branch_name>
第 4 步: git fetch
硬重置你的分支。
享受。
我在 Bitbucket 上合并了一个拉取请求后遇到了这个问题。
不得不做
git fetch
就是这样。
通常,如果我必须检查哪些提交与主提交不同,我会这样做:
git rebase -i origin/master
通过这种方式,我可以看到提交并决定放弃它还是选择......
来自git
这条消息意味着您已经在本地存储库中进行了三个提交,并且尚未将它们发布到master
存储库。 为此运行的命令是git push {local branch name} {remote branch name}
。
命令git pull
(和git pull --rebase
)适用于另一种情况,当您在本地存储库中没有远程存储库上的提交时。 --rebase
选项意味着git
会将您的本地提交移到一边,与远程--rebase
同步,然后尝试从新状态应用您的三个提交。 如果存在冲突,它可能会失败,但随后会提示您解决它们。 如果您不知道如何使用git rebase --abort
解决冲突,您也可以中止rebase
,并且您将返回到运行git pull --rebase
之前的状态。
如果你的 git 说你提前提交了,那么首先,
git push 原点
确保你已经在 repo 中推送了你所有的最新工作
然后,
git reset --hard origin/master
重置并与 repo 匹配
我在 Bitbucket 上合并了一个拉取请求后,这发生在我身上。
我只需要这样做:
git fetch
我的问题解决了。 我希望这有帮助!!!
$ git fetch
- remote: Enumerating objects: 3, done.
- remote: Counting objects: 100% (3/3), done.
- remote: Compressing objects: 100% (3/3), done.
- remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
$ git pull
- Already up to date!
- Merge made by the 'recursive' strategy.
最后:
$ git push origin
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.