如何修复"Your branch is ahead of 'origin/master' by 1 commit."?



我在我的计算机上(从github(有一个分叉存储库的本地签出。所以在github上,我创建了一个分支,并检查出来。

现在我希望本地签出与原始 github 存储库(我创建分叉的存储库(相同。我将该原始存储库添加到我的本地存储库(名称为"orig"(并执行以下操作:

git pull orig master

但是,git status向我展示了

On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)
nothing to commit, working directory clean

git diffgit diff origin/master也没有任何显示。

有没有办法使本地结帐等于原始主分支中的内容(无需删除本地存储库、github 分叉、重新分叉、重新签出......

我不在乎是否有任何未提交的更改或任何东西。我希望本地结帐等于原始存储库...

您可以将本地分支重置为 orig 中的分支,然后推送到您的分叉

git checkout master
git reset --hard origin/master
git push --force origin master

本地存储库和分支主分支将与原始存储库相同。

如果需要清洁:git clean -f -d

使用以下命令:

git reset --hard HEAD

我已经遇到过几次同样的问题,以下是我为自己写下的解决方案。我不知道所有的细节,但我知道它让我摆脱了麻烦:)。

回滚提交。(在每个步骤之间运行"git status"(

  • 例如,"您的分支比'origin/dev'领先 2 次提交。
  1. git 重置头^:
  • 这将一次删除一个提交的文件(我认为(
  • 会有一堆(红色(暂存/未跟踪的文件。不要惊慌。
  1. >"你的分支和'origin/dev'已经分道扬镳,分别有1个和5个不同的提交。
  • 重复步骤 1。 直到 git 状态"您的分支落后于'origin/dev' 5 次提交">
  • 现在我们要删除所有这些更改,以便以后可以重新拉回源。
  1. git restore *
  • 删除所有暂存更改
  • 现在可能只有一些未跟踪的文件。手动删除文件夹中的它们。
  1. git pull origin dev.
  • 这应该是从源头拉取的最新开发。

最新更新