{"thread":{"id":"62825","subject":"Erase a commit from a git repository","startedAt":"2025-01-18T21:32:52Z","lastAt":"2025-01-21T17:30:57Z","messageCount":3,"participants":["Tim Tassonis","Reto","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"510884","messageId":"db7ea8df-2f37-47b9-828b-67b8d3068232@decentral.ch","threadId":"62825","inReplyTo":null,"subject":"Erase a commit from a git repository","fromName":"Tim Tassonis","fromEmail":"stuff@decentral.ch","sentAt":"2025-01-18T20:50:31Z","receivedAt":"2025-01-18T21:32:52Z","isPatch":false,"sender":{"key":"stuff@decentral.ch","avatar":null},"body":"Hi all\n\nSorry if this is the wrong list, I have a question regarding a faulty \ncommit that costs me quite a lot of diskspace.\n\nI accidentally committed an pushed one gigabyte of firmware blobs into \none of my git repositories, and noticed that too late, e.g. it was \nalready on master and newer commits had occurred.\n\nTo my knowledge, there is no easy way to remove a commit out of an \nexisting repository.\n\nBut I assume that there is a way around this: As one can easily migrate \nan svn repository to git with all history included, there surely is also \na way to \"migrate\" a git repository to another git repository in the \nsame way and then just leave that commit out.\n\nAs this sounds like quite a lot of manual work, I wondered if there is \nan automated process for this?\n\nBye\nTim\n\n\n"},{"id":"510900","messageId":"lyk3ps7h36bld6jh2uptzzdxpikjdjxnhcenc22rpaqobzw3ct@u22qnfbquwmi","threadId":"62825","inReplyTo":"db7ea8df-2f37-47b9-828b-67b8d3068232@decentral.ch","subject":"Re: Erase a commit from a git repository","fromName":"Reto","fromEmail":"reto@labrat.space","sentAt":"2025-01-19T11:21:20Z","receivedAt":"2025-01-19T11:29:23Z","isPatch":false,"sender":{"key":"reto@labrat.space","avatar":null},"body":"On Sat, Jan 18, 2025 at 09:50:31PM +0100, Tim Tassonis wrote:\n> As this sounds like quite a lot of manual work, I wondered if there is an\n> automated process for this?\n\nSure: https://github.com/newren/git-filter-repo\n"},{"id":"511007","messageId":"xmqqa5bk2hwx.fsf@gitster.g","threadId":"62825","inReplyTo":"db7ea8df-2f37-47b9-828b-67b8d3068232@decentral.ch","subject":"Re: Erase a commit from a git repository","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-01-21T17:30:54Z","receivedAt":"2025-01-21T17:30:57Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Tim Tassonis <stuff@decentral.ch> writes:\n\n> As this sounds like quite a lot of manual work, I wondered if there is\n> an automated process for this?\n\n\nhttps://github.com/newren/git-filter-repo perhaps?\n"}]}