重命名 master-branch 并创建一个新的空 master

Rename master-branch and create a new, empty master

我在现有存储库上使用了 git subtree 命令,以便将子文件夹提取到它自己的存储库中。然后,我将提取的提交推送到它的新存储库,进入 master-branch.

但是,我应该一直将其推入 "feature/FT001"-branch 并相应地更改所有内容:

  1. 重命名分支:git branch -m feature/FT001
  2. 删除旧分支并推送新分支:git push origin master feature/FT001
  3. 重置上游分支:git push origin -u feature/FT001

在这种状态下,master 分支不再存在于本地和原点。

我想现在添加一个新的(空的)master-branch。看起来我以前从未在 master 上工作过(没有提交)。历史应该看起来有一个 master 分支,然后我创建了 feature-branch 并将所有内容提交给 feature-branch (最终将我的 feature-branch 合并到 master-branch).

我怎样才能完成这些最后的步骤?

我想你的目标是让所有提取的提交看起来都只在 feature/FT001 分支中,而 master 分支只被初始化。

如果你有 Git 2.23,你可以通过创建一个孤立分支来做到这一点:

git switch --orphan master

这将暂存您的所有文件,因此您必须取消暂存它们并对那个孤立分支进行空提交:

git reset
git commit --allow-empty -m "Initial commit"

如果你有 Git 2.28+,你可以只执行 switchreset 一个命令:

git switch --discard-changes --orphan master
git commit --allow-empty -m "Initial commit"