【问题标题】:How to resync local master to remote master?如何将本地主机重新同步到远程主机?
【发布时间】:2020-12-23 14:56:13
【问题描述】:

我本地 repo 中的 master 分支显示了一个越来越多的推送徽章。我知道它与远程主机是最新的,因为本地分支中的所有更改都已被拉出并合并到远程主机中。但是每次我从远程获取并拉取以更新我的本地存储库时,本地主机似乎比远程领先一次。但我知道这两位大师是一样的。

(不确定这一切是如何开始的,我可能在某个时候强制推送到原点......?)

'git pull --rebase origin master' 会帮助本地主机匹配远程吗?还是git reset --hard remote/master

我怎样才能避免两个分支再次不同步?

【问题讨论】:

  • 实际上,git pull --rebase导致您看到的观察结果,即您的本地master 似乎在远程之前提交了一些数量。您可能希望包括此处发生的确切步骤。
  • git pull 是否在本地创建合并提交?这可以解释你看到的额外提交。这在没有变基拉动的情况下在同一个分支上一起工作时经常看到。
  • 每次我对本地分支之一进行更改时,我都会将其拉到相应的远程分支并合并到远程master。然后我在本地 repo 中进行 fetch,然后显示本地 master 需要 pull 以从远程 master 获取更改。我没有进行本地合并。

标签: git git-merge rebase git-pull


【解决方案1】:

检查git config pull.rebase是否设置为真,就像我mentioned here一样。

这意味着任何 git pull 实际上都会在更新的远程 origin/master 跟踪分支之上重放您未推送的本地提交。
如果本地历史记录看起来正确,一个简单的git push 应该可以解决问题。

【讨论】:

  • 本地和远程master是一样的。当我尝试将本地主机推送到远程时,我收到一条消息,看起来像戴墨镜的人的文字图片,并且:“远程:分支 refs/heads/master 只能通过拉取请求进行修改。远程:检查您与项目管理员的分支权限配置。”
  • @alfavictor 你在推 gitHub,GitLab 吗?比特桶?本地实例还是 .com 服务?
  • 我正在推送到 BitBucket
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-03
  • 2018-05-02
  • 2012-03-29
相关资源
最近更新 更多