我正在尝试执行 'git pull --rebase',但我没有看到任何远程更改。当我执行 'git status' 时,我看到“您的分支比 'origin/master' 领先 12 次提交。”
但我目前在我的“开发”分支上,而不是主人。
$ git branch
master
* dev
Run Code Online (Sandbox Code Playgroud)
我的“dev”分支应该跟踪“remotes/origin/dev”。
我想要的只是我在“开发”上工作,我想对远程开发进行远程更改。
但是我做了 'git pull --rebase',其中一些如何将远程“master”更改为我的“dev”分支。
你能告诉我如何从我的情况中恢复过来吗?
删除我错误地从远程“master”分支引入的更改(在我执行“git pull --rebase”之后)
将远程“dev”分支上的更改拉入我的“dev”分支。
谢谢你。
听起来好像您的开发分支最初是基于origin/master而不是基于origin/dev,或者以某种方式dev更改为跟踪origin/master。您可以通过以下方式检查:
git config branch.dev.merge
Run Code Online (Sandbox Code Playgroud)
如果是这样的话,您可以使用refs/heads/master以下命令refs/heads/dev更改分支的上游分支dev:
git checkout dev
git branch --set-upstream dev origin/dev
Run Code Online (Sandbox Code Playgroud)
然后,为了修复你的分支,我会:
dev分支上git checkout devgit status干净git branch dev-wrongly-rebasedgit reflog在重新建立基础之前查找提交origin/masterdev到该点git reset --hard COMMIT-BEFORE-BAD-REBASEgit rebase origin/dev我在变基时的偏好始终是分两步进行,例如:
git fetch origin
git rebase origin/dev
Run Code Online (Sandbox Code Playgroud)
...因为我认为这比git pull --rebase. 我希望这有一些用处。
| 归档时间: |
|
| 查看次数: |
3615 次 |
| 最近记录: |