Git Event Manager is a graphical user interface application based on Tkinter for managing events in a Git repository. The core code was initially generated by an AI language model and subsequently modified and optimized for better functionality and user experience.
This project combines AI-generated code with human modifications to create a practical Git management tool. The base implementation was generated using a large language model, with subsequent refinements and optimizations made to enhance functionality, improve error handling, and ensure better user experience.
- Select Git Repository Path: Users can select a local Git repository for management.
- Branch Creation: Supports creating new branches based on prefix, date, and custom suffix.
- Merge Operations: Allows selecting multiple branches or tags for merging.
- Tag Creation: Supports creating new tags based on prefix, date, and custom suffix.
- Event History: View and search historical events, including branch and tag creation, merge information, etc.
- Push to Remote: Supports pushing the current branch and tag to the remote repository.
- Git User Information Configuration: Checks and configures Git username and email.
The application is built using:
- Python 3.x
- Tkinter for GUI
- GitPython for Git operations
- Object-oriented programming principles
- AI-assisted code generation with human optimization
- Python 3.x
- Tkinter library (usually comes with Python)
- GitPython library
Install the required dependencies:
pip install gitpythonNavigate to the project directory and run:
python main.py-
Repository Selection
- Click "Browse" to select a Git repository
- The application will automatically load repository information
-
Branch Management
- Enable branch creation
- Select prefix type or enter custom prefix
- Add custom suffix and date if needed
- Create new branch with generated name
-
Merge Operations
- Select source branches/tags
- Execute merge operation
- View merge results in history
-
Tag Management
- Create tags with custom naming patterns
- Manage existing tags
- Push tags to remote
-
History Tracking
- View complete operation history
- Search through past events
- Access detailed information for each operation
- Always verify the repository path before operations
- Review generated names before creating branches or tags
- Check merge conflicts before confirming operations
- Verify remote repository permissions before pushing
- The core functionality was initially generated using AI
- Code structure and error handling have been manually optimized
- GUI layout and user interaction flows have been refined based on testing
- Additional features can be added through the existing framework
Contributions are welcome! Please feel free to:
- Submit bug reports
- Propose new features
- Submit pull requests
- Improve documentation
This project is licensed under the MIT License. See the LICENSE file for details.
- Initial code generation: Large Language Model AI
- Code optimization and refinement: Project maintainers
- GitPython library developers
- Python Tkinter community
For questions, issues, or suggestions, please open an issue in the repository.