如何在不破坏当前提交的情况下变基?

How to rebase without trashing current commits?

我是 Git 和 GitHub 的新手。我从一个开源项目中 fork 并克隆了 fork。 GitHub 分支被称为“来源”,我为分支“上游”的来源创建了一个别名。我切换到分支“3.x”。创建了我自己的功能分支“MyFeature”。致力于该功能并最终提交它描述为“初始 MyFeature 提交”并推送它:

git push --set-upstream origin MyFeature

我创建了一个合并请求并收到了代码审查变更请求。我根据代码审查请求编辑了一些文件,提交了描述为“来自代码审查请求的更改”的更改。

在推送更改之前,我重新设置了

git pull --rebase upstream 3.x

然后我用

推送了更改
git push -f

我在 GitHub 上看到的是

-o- Initial MyFeature commit
-o- Changes from code review requests

问题是我的更改被重新推送到“来自代码审查请求的更改”上的“初始 MyFeature 提交”而被丢弃。我丢失了所有更改。

我做错了什么?我怎样才能避免这种情况?

您将您的更改推送到名为 easeInOutPortamento 的专用分支。

如果您通过 github 的网站检查您的 repo:分支 select 默认为 master(或 main,因为 github 已更改新仓库的默认分支名称)。

如果你想检查另一个分支的文件状态,你必须在“branch/tag”下拉列表中明确select它。