重命名 master-branch 并创建一个新的空 master
Rename master-branch and create a new, empty master
我在现有存储库上使用了 git subtree
命令,以便将子文件夹提取到它自己的存储库中。然后,我将提取的提交推送到它的新存储库,进入 master-branch
.
但是,我应该一直将其推入 "feature/FT001"-branch
并相应地更改所有内容:
- 重命名分支:
git branch -m feature/FT001
- 删除旧分支并推送新分支:
git push origin master feature/FT001
- 重置上游分支:
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+,你可以只执行 switch
和 reset
一个命令:
git switch --discard-changes --orphan master
git commit --allow-empty -m "Initial commit"
我在现有存储库上使用了 git subtree
命令,以便将子文件夹提取到它自己的存储库中。然后,我将提取的提交推送到它的新存储库,进入 master-branch
.
但是,我应该一直将其推入 "feature/FT001"-branch
并相应地更改所有内容:
- 重命名分支:
git branch -m feature/FT001
- 删除旧分支并推送新分支:
git push origin master feature/FT001
- 重置上游分支:
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+,你可以只执行 switch
和 reset
一个命令:
git switch --discard-changes --orphan master
git commit --allow-empty -m "Initial commit"