CommitCleaner is a tool designed to neatly reset the commit history of your Git repository while keeping the current state of the code intact. This utility allows you to maintain a clean repository, starting afresh without the clutter of unnecessary history.
- Removes Git commit history
- Retains the current state of the code
- Creates a new initial commit
CommitCleaner is written in Python and can be easily installed via pip:
pip install commitcleaner
Once installed, you can execute the commitcleaner
command in your command line within the directory of your Git repository to reset its commit history:
cd {your project}
commitcleaner
This command performs the following actions:
- Creates an orphan branch named
latest_branch
. - Adds all files to the staging area.
- Creates a new commit with the message "Initial commit".
- Deletes the existing
main
branch. - Renames the current branch to
main
. - Force pushes the changes to the remote repository.
- It is advisable to backup important data before using this tool, as the process of removing commit history is irreversible.
- Force pushing (
git push -f
) to a remote repository can cause synchronization issues with other collaborators. Discuss with your team before using.
This tool was inspired by a Stack Overflow answer, which provides a method for removing Git commit history while keeping the code in its current state. You can find the original solution here.
This project was generated with the assistance of ChatGPT-4, an advanced language model developed by OpenAI. The tool's concept, code snippets, and documentation were crafted through interactive sessions with the AI, showcasing the potential of AI-assisted software development.
If you would like to contribute to the commitcleaner
project, please feel free to submit an issue or a pull request on GitHub. All contributions are welcome!
This project is distributed under the MIT License.