On Fri, Feb 21, 2025 at 12:18:09AM +0000, brian m. carlson wrote: > > My Git repository on GitHub <https://github.com/espindula/br-blfs> has > > about 23,500 commits. However, there are several old (before Feb, 28 > > 2022) commits I would like to delete and maintain the newer ones > > (after Feb, 28 2022). So, Is there any Git command (or combined > > commands) I could use? > > No, Git doesn't offer such a thing. Due to the use of cryptographic > hashes used, it would be impossible to verify the integrity of the > repository if it could just be truncated like that. In addition, the > goal of Git as a version control system is to track history, not to > destroy it. > > However, if the concern is size and not something else (like removing > personal information), then you could use a shallow clone to just > download a certain number of revisions and work on that. The full > history would remain on the server, and you could still push newer > changes, but the size on your local machine would be smaller. If you > need more history, you could use a partial clone instead if you're > willing to be online to work. Another approach is to create a new repository and use a graft/replacement commit to indicate that history continues in a different repository, right? I do sometimes wish this was a bit easier/more accessible to perform, because that would allow creating "epochs" for very large repos. Unfortunately, shallow clones tend to be very heavy on the server-side. -K