Git:为什么在 Re-basing 之后我的 fork 仍然落后于原始的 repo master?

标签 git github version-control rebase git-fork

我已经从 Github fork 了一个存储库,然后创建了一个名为 process 的分支,我已经开始处理这个存储库,并且我已经在我的分支 progress 上对原始 master 进行了 7 次提交,并进行了轻微修改。

现在我将更改推送到 github,它向我显示了这个 这个分支领先 7 个提交,落后 jwasham:master 16 个提交。 现在我通过检查我的流程分支并添加上游解决了这个问题

$ gitbranch --set-upstream-to=origin 进度

然后我进行了 rebase ,以便我的更改出现在原始存储库上所做的提交之上,并像这样完成

$ git pull --rebase 首先,倒回头部以重播您的工作...... 进程快进至 266048d8326bde6f1cb137d8b898fc2fff645f94。

但是当我尝试将其推送到 github 时,它向我展示了

$ git pu
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/uppusaikiran/repo_name.git
   0569dcf..266048d  process -> process

显然什么都没有改变,但我仍然遇到同样的问题这个分支领先 7 次提交,落后 jwasham:master 16 次提交。

如何解决这个问题,我到底错在哪里,以及如何在更新之上使用我的更改来更新我的 fork ?

许多人建议的简化问题,该问题很难理解

  • 在 Github 上我选择一个项目
  • 我想继续工作,所以我 fork 了
  • 我克隆了我的 fork
  • 已创建分支进度
  • 开始在分支机构工作
  • 进行了一些微小的更改,但不影响任何删除 Link to what i have done
  • 已提交并推送到我的progress分支
  • 与此同时,所有者(原始存储库)更新了他的存储库,因此我的 fork 已经过时了,但前面有一些提交,这是我的提交
  • 所以这让我像这样 7 次提交领先 jwasham:master 16 次提交
  • 我想要的只是与存储库提交保持一致,并且我的提交应该位于更新的 fork 之上并且这些提交不会导致冲突

最佳答案

当你在做的时候

$ git branch --set-upstream-to=origin progress

您告诉 git 您的本地分支progress正在跟踪origin/progress

$ git pull --rebase

正在根据origin/progress而不是如您所愿的jwasham:master重新设定基准。

您需要将更改从 jwasham:master 提取到本地克隆中,然后才能执行 rebase 操作。

例如:

$ git remote add jwasham <URL>
$ git fetch --all
$ git rebase jwasham/master

然后你可以推送到你的 github 克隆 - 如果你之前发布了你的分支,最有可能使用 --force。

关于Git:为什么在 Re-basing 之后我的 fork 仍然落后于原始的 repo master?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39975456/

相关文章:

git - 提交到 git 时出错,提示未找到 stCommitMsg 文件

git 缺少工作树

go - 如果我想对 fork 的存储库进行更改却发现我做不到,因为 fork 的包会导入自己,该怎么办

github:将提交添加到现有的 pull 请求

windows - 可以 fork 的本地 Windiws 中的 Git 服务器类型存储库

php - Web 开发中的源代码控制系统

git reset --hard origin/master 失败

java - JGit 将 Repo A merge 到 fork 版本 repo B 中,其中 A 领先于 B

c# - 不需要服务器的 Visual Studio 的源代码管理?

git - 如何对同一个 git 修订应用两个补丁?