gpt4 book ai didi

git - 如何删除 git 中的前 n 条提交消息?

转载 作者:太空狗 更新时间:2023-10-29 14:07:48 25 4
gpt4 key购买 nike

我正在配置 git 并在此阶段创建了一些测试提交(我提交了 1 个字符的更改以及毫无意义的提交消息)。在这些之后我使用了 git 并创建了很多正常的提交。所以现在,当我使用 git rev-list --all --pretty 查看提交历史并滚动到足够远时,我看到了这些可怕的前 N ​​次提交。

我试图摆脱它们,但我发现了重做 git 的建议(这对我来说不是一个有效的想法)。我还发现 first commit is special所以我不能删除它。

但是有没有办法删除前 N 个提交(不包括第一个)并重命名第一个?

最佳答案

如果您还没有“发布”您的提交(让其他人可以使用它们),您可以使用 git rebase 的历史重写效果来丢弃早期提交。

这种重写是通过复制您要保留的所有提交到新提交来实现的。然后旧的就被抛弃了。如果您已经发布了提交,那么任何其他捕获它们的人都已经拥有了它们,您对此无能为力;并为您想要保留的副本制作这些新副本,并要求他们切换到新副本,这会给他们带来很多无用的工作。所以这是不礼貌的,没有充分的理由你不应该这样做。

不过,如果它是私有(private)存储库,那一切都很好。

为了能够从头开始重写每个提交,请使用 git rebase -i --root。这将为您提供每个提交的列表,包括第一个提交,每个提交都有 pick 命令;只需删除您想要删除的那些。 (请注意,这将“pull 平”任何 merge 。即使在删除一些提交时也可以保留它们,但我没有对此进行试验;请参阅 git rebase documentationBUGS 部分。)

关于git - 如何删除 git 中的前 n 条提交消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22684299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com