如何解决"您的分支领先于原创/主人'由1提交。"?

时间:2018-05-01 06:43:05

标签: git github

我在计算机上有一个fork存储库的本地签出(来自github)。所以在github上我创建了一个fork,并检查了它。

现在我希望本地签出与原始github存储库(我创建fork的那个)相同。我将原始回购添加到我的本地仓库(名称为' 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分叉,重新分配,重新检查......)?

我不在乎是否有任何未经修改的变化或任何事情。我希望本地结账与原始回购相等......

3 个答案:

答案 0 :(得分:6)

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

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

您的本地repo和fork master分支将与原始repo相同。

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

答案 1 :(得分:1)

使用以下命令:

git reset --hard HEAD

答案 2 :(得分:1)

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

回滚提交。 (在每一步之间运行“git status”)

  • 例如“您的分支比 'origin/dev' 领先 2 次提交。”
  1. git reset HEAD^:
  • 这一次删除一个提交的文件(我认为)
  • 会有一堆(红色)暂存/未跟踪文件。不要惊慌。
  1. “您的分支和 'origin/dev' 已经出现分歧,分别有 1 次和 5 次不同的提交。”
  • 重复第 1 步,直到 git status “您的分支落后于 'origin/dev' 5 次提交”
  • 现在我们要删除所有这些更改,以便稍后将原点拉回。
  1. git 恢复 *
  • 删除所有分阶段的更改
  • 现在可能只有一些未跟踪的文件。在文件夹中手动删除它们。
  1. git pull origin dev.
  • 这应该是从原点提取的最新开发。