我想从 master 创建一个分支,但我需要这个分支有一个空树。经过一番研究,我想出了以下情况:
- 主分支有一个带有虚拟文件的提交。
- 我结帐一个新的分支
- 我删除所有文件并提交
- 我用 --allow-empty 创建了一个新的提交
以下命令应该可以帮助您做到这一点:
$ git init
$ touch dummy
$ git add .
$ git commit -m 'initial commit'
$ git checkout -b new-branch
$ git rm -rf .
$ git commit -m 'clean up tree'
$ git commit --allow-empty -m 'new branch initial commit'
现在我想摆脱“清理树”提交。我正在尝试使用 rebase --onto like
$ git rebase --onto HEAD~2 HEAD^
但我最终得到了一个提交('初始提交')和它的所有引用(HEAD,master,new-branch)。如果我结帐到新分支,虚拟文件又回来了。
我的“新分支初始提交”去哪儿了?我失踪了什么?
Obs.:我这样做是因为我想关联这些分支,但我不想保留来自父提交的文件。