A tool to clean Git commit history.
Project description
CommitCleaner
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.
Features
- Removes Git commit history
- Retains the current state of the code
- Creates a new initial commit
Installation
CommitCleaner is written in Python and can be easily installed via pip:
pip install commitcleaner
Usage
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.
Caution
- 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.
Acknowledgments
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.
Credits
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.
Contributing
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!
License
This project is distributed under the MIT License.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for commitcleaner-0.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66848055aeb3c38a39ed0d4515346519199d02aecb80452a2078112c3443d067 |
|
MD5 | e38bdd5845e5da409d08dbec0eb9e8ff |
|
BLAKE2b-256 | 5fd339660e843b844164ce8f3fb84e2021abd5b85631f449cfa1fb983df7f5c3 |