【问题标题】:How can I delete the first commit on my repos history?如何删除我的回购历史记录中的第一个提交?
【发布时间】:2019-01-21 14:25:57
【问题描述】:

我在 GitHub 中创建了一个新存储库,但不幸的是,我使用 node_modules 发送了第一个提交 在第二个中,我删除了 node_modules 并发送了 .gitignore 文件,该文件避免了自第二次提交以来提交所有 node_modules。

在进行了多次提交之后,我发现存储库很大,因为初始提交包含所有 node_modules。

所以,我的问题是:如何从日志历史记录中删除第一次提交以减少存储库大小?

注意:我不关心第一次提交历史的进度,因为我在随后的提交中有更多的进度

【问题讨论】:

标签: git github git-log


【解决方案1】:

您应该使用 git rebase -i --root 并压缩提交,并在第一次提交时删除 node_modules 文件夹。

【讨论】:

  • 这是一个正确的答案。致莱昂纳多:密切注意您实际上并不想删除您的根提交;相反,您希望它的更改与下一个集成 - 就像这里解释的那样。
【解决方案2】:

Git 使用树形组织,只允许添加新节点(提交)。如果你真的想删除一个错误推送的提交,你必须在本地更新你的存储库,而不是强制推送到相应的远程。我在谈论它时发现了一个问题。

How to undo the initial commit on a remote repository in git?

【讨论】:

    【解决方案3】:

    使用git revert <commit_id_to_be_reverted>

    【讨论】:

    • 这不会删除提交。
    猜你喜欢
    • 2023-01-22
    • 2014-06-24
    • 2013-08-03
    • 2012-04-06
    • 1970-01-01
    • 2015-07-24
    • 2014-11-20
    • 2016-03-13
    • 1970-01-01
    相关资源
    最近更新 更多