【发布时间】:2019-09-25 13:09:09
【问题描述】:
我在 repo 的第一次提交中硬编码了一些凭据,这里是 git log 输出:
commit 7958f03d51b0c3852bffc43bd169a121314dafca (HEAD -> master)
Author: Alexander Mills <alex@alexs-mac.local>
Date: Tue May 7 13:14:45 2019 -0700
modify dockerfile
commit d16acc2b2331e5afdc51d87d05b3aeb01397d4ef (origin/master)
Author: Alexander Mills <alex@alexs-mac.local>
Date: Thu May 2 11:48:14 2019 -0700
init
如何删除第一个提交(“init”)?
我试过了:
git reset --soft HEAD~1
但这只会让我重置到第一次提交。如果我尝试git rebase -i HEAD~1,我会得到:
pick 7958f03 modify dockerfile
# Rebase d16acc2..7958f03 onto d16acc2 (1 command)
# ...
因此,没有明显的方法可以删除第一次提交,无论是 git reset 还是 git rebase...有没有办法以某种方式摆脱第一次提交?
注意:我可以炸毁 .git 存储库文件夹,但作为练习,有些人可能有比 2 更多的提交,并希望从存储库中删除第一个或前 5 个提交摆脱硬编码的信用等。
【问题讨论】:
标签: git git-rebase