即使 git log 确认了 pull

问题描述

我有一个分支,想使用 $ git pull origin master git 在 master 中进行更改 在我这样做之后,pull 真的没有显示任何合并的 PR 被拉并且说它已经更新了。但是,git log 显示了最后合并的 PR。

那么我怎样才能在这个分支上获得最新的更改(合并的 PR)?

在 master 分支上执行 $ git pull origin master 显示正在拉取合并的 PR。

我该如何解决这个问题?由于我在 Github 页面上合并了它的 PR,并且还能够使用 git pull origin master 并将其拉到 master 的 README.md 没有被拉入这个新分支。

$ git branch
  dataprocessing
  master
* toyota

在分支时:

$ git merge master
Already up to date.

$ git branch -vv
  dataprocessing dcaa9f9 Merge pull request #122 from XYZaiXYZ/toyota
  master         dcaa9f9 [origin/master] Merge pull request #122 from XYZaiXYZ/toyota
* toyota         dcaa9f9 [origin/toyota: ahead 1] Merge pull request #122 from XYZaiXYZ/toyota

此外,以下内容不会产生任何结果:

$ git diff origin master

这是我在本地分支 toyota 的 README.md 中看到的:

enter image description here

这是我在 GitHub PR 中的 README.md 中看到的,我合并了:

enter image description here

这是我在 GitHub 网站中浏览到实际的 README.md 时看到的:

enter image description here

这就是我在 $ git checkout master 中看到的,正如您在拉取更新后在 master 中看到的那样,README.md 没有更改:

enter image description here

$ git checkout toyota
Switched to branch 'toyota'
Your branch is ahead of 'origin/toyota' by 1 commit.
  (use "git push" to publish your local commits)

$ git merge origin master
Already up to date.

$ git log README.md 
commit ac7cXXXX (origin/toyota)
Author: Mona Jalal <mona@XYZ>
Date:   Fri Feb 5 22:40:32 2021 +0000

    fixed two typos in the README.md

$ git pull origin master
From ssh://github.com/XYZaiXYZ/vision
 * branch            master     -> FETCH_HEAD
Already up to date.

我已经合并了 #122 PR 来掌握自己,当我进入 git repo 时我看到了这个:

enter image description here

$ git checkout master
$ git log
commit dcaa9XYZ (HEAD -> master,origin/master,origin/HEAD,toyota,dataprocessing)
Merge: 3b29485 ac7c61e
Author: Mona Jalal <76495162+XYZ@users.noreply.github.com>
Date:   Fri Feb 5 17:44:36 2021 -0500

    Merge pull request #122 from XYZaiXYZ/toyota
    
    fixed two typos in the README.md

我还在测试目录中执行了 git clone 存储库,我可以看到更改显示在这个新克隆中

enter image description here

解决方法

git diff origin master 没有结果意味着您的分支与 origin/master 相同。所以你已经从原点拉取了 master 并且你的分支与 master 分支保持同步。

此外,如果这些更改已在本地提交,git merge master 会合并 master 上的更改。如果 master 上的更改是在远程提交的,则需要执行 git merge origin master 来拉取 master。

,

@mona-jalal,我非常感谢提供所有细节。由于您能够在新克隆中看到 README 内容,至少,我们知道提交存在于 repo 中并且它是完整的。不知何故,您的本地副本变得纵横交错。我知道移动训练数据很困难。您可以尝试的方法很少,但它可能比通过将训练数据移动到新目录来使用新克隆的副本更复杂。

一切顺利!