gpt4 book ai didi

git - 在 'git pull --rebase' 之后看不到远程更改

转载 作者:太空狗 更新时间:2023-10-29 13:41:50 25 4
gpt4 key购买 nike

我正在尝试执行“git pull --rebase”,但我没有看到任何远程更改。当我执行“git status”时,我看到“您的分支领先于‘origin/master’ 12 个提交。”

但我目前在我的“开发”分支上,而不是主分支。

$ git branch
master
* dev

我的“dev”分支应该跟踪“remotes/origin/dev”。

我只想在“开发”上工作,我想在远程开发上进行远程更改。

但我执行了“git pull --rebase”,其中一些如何将远程“master”更改 pull 到我的“dev”分支。

你能告诉我怎样才能从我的情况中恢复过来吗?

  1. 删除我错误地从远程“master”分支中 pull 的更改(在我执行“git pull --rebase”之后)

  2. 将远程“dev”分支上的更改 pull 入我的“dev”分支。

谢谢。

最佳答案

听起来好像你的开发分支最初是基于origin/master而不是origin/dev,或者不知何故dev被改变了无论如何都要跟踪 origin/master。您可以通过以下方式检查:

git config branch.dev.merge

如果上面写的是 refs/heads/master 而不是 refs/heads/dev 你可以改变你的 dev 分支的上游分支:

git checkout dev
git branch --set-upstream dev origin/dev

然后,为了修复你的分支,我会:

  1. 使用 git checkout dev 确保你在 dev 分支上
  2. 确保 git status 是干净的
  3. 创建一个分支来保存你所在的位置(为了安全):git branch dev-wrongly-rebased
  4. 在重新定位到 origin/master 之前使用 git reflog 查找提交
  5. 重置 dev 到那个点 git reset --hard COMMIT-BEFORE-BAD-REBASE
  6. 最后,执行git rebase origin/dev

当 rebase 时,我的偏好总是分两步进行,例如:

git fetch origin
git rebase origin/dev

... 因为我认为这比 git pull --rebase 更不容易出错。希望对您有所帮助。

关于git - 在 'git pull --rebase' 之后看不到远程更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5315869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com