【问题标题】:Git merge and pull not pulling the latest codeGit合并和拉不拉最新代码
【发布时间】:2017-06-30 16:25:30
【问题描述】:

我在 Github 上有一个私有仓库,有 2 个分支:

  1. 大师
  2. 公司

现在在一些特定文件中,Master 分支和Company 分支中的代码不同,我可以在github.com 的存储库中看到这一点。但是当我尝试执行git pull origin master 时,我收到以下消息:

* branch              master     -> FETCH_HEAD
Already up-to-date

即使我尝试执行git merge master,我也会收到相同的信息。为什么我的代码没有从 Github 更新?我错过了一个中间步骤吗?

编辑:

我向master 分支添加了新代码,然后切换到company 分支,它确实识别了更改并将其正确合并到公司分支中。

我确实看到其中一位合作者在我的主分支上进行了一个奇怪的提交,基本上是 Merge branch master of https://github.com/repo-name。这种在 master 上的合并是否会成为这种奇怪情况的原因?我在这里可能完全错了,我几乎只是在这里抓住稻草。

【问题讨论】:

  • git log origin/master 告诉你什么?
  • @JonSkeet 所以我只是在 master 分支中添加了更多代码,然后做了一个 git pull origin master 并且它工作正常,但该特定文件仍然与 master 处于不同的状态
  • 嗯,这可能是因为您已将所有更改从 origin/master 合并到本地 repo,但不是相反...

标签: git github merge git-merge


【解决方案1】:

Already up-to-date 表示您的company 分支拥有当前master 上的所有提交,但相反不一定正确。

如果您希望使两个分支相同,您还需要使用来自company 的提交更新master 分支。

【讨论】:

  • 但是我的company 分支显然没有与master 分支保持同步。
  • 你确定你提到的文件的差异不仅仅在company分支上吗?当您从 master 拉取时,您只会拉取那里所做的所有提交,不会使所有文件都相同。 @anonn023432
  • 所以我有一个状态为x 的文件由我在company 分支中更新为y 并且xmaster 分支中更改为状态z .现在我希望我的company 分支也拥有来自z 的所有代码(添加到y 状态)所以我正在尝试git merge mastergit pull origin master,但两者都不起作用。我检查了 github 网站上的分支,master 显然有一个z 状态,而company 仍处于y 状态而它应该是y + z
  • 嗯,我明白了。我的猜测是,有人提交解决了这些并行更改产生的可能冲突,这可以解释这种情况。无论如何,如果无法访问日志,就很难分辨。如果您只是想解决这种情况,最快的方法可能是使用您想要的状态进行新的提交并将其合并到两个分支上。 @anonn023432
猜你喜欢
  • 2020-06-30
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 2014-10-07
  • 2015-07-23
  • 2020-01-16
  • 2018-10-10
  • 2016-08-05
相关资源
最近更新 更多