Thanks for your interest in contributing! 🎉
# Clone the repo
git clone https://github.com/Feelzaa/git-undo.git
cd git-undo
# Install dependencies
npm install
# Test it locally
node index.js
# Or link it globally
npm link
git-undoFound a bug? Open an issue with:
- What you expected to happen
- What actually happened
- Steps to reproduce
- Your git version (
git --version) - Your Node.js version (
node --version)
Have an idea? Open an issue describing:
- The problem you're trying to solve
- Your proposed solution
- Any alternatives you've considered
PRs are welcome! For major changes:
- Open an issue first to discuss
- Fork the repo
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test thoroughly
- Commit (
git commit -m 'Add amazing feature') - Push (
git push origin feature/amazing-feature) - Open a PR
- Use clear, descriptive variable names
- Add comments for complex logic
- Keep functions focused and small
- Follow existing code patterns
Before submitting:
- Create a test git repo
- Make various commits, merges, etc.
- Test your changes with different scenarios
- Verify error handling
Currently supported:
- Commits
- Resets
- Checkouts
- Merges
- Rebases
- Cherry-picks
- Amends
Want to add more? Check parseOperationType() in index.js
Always handle errors gracefully:
- Check if in a git repo
- Validate git commands exist
- Provide helpful error messages
- Don't leave the repo in a broken state
git-undo/
├── index.js # Main CLI code
├── package.json # Dependencies & metadata
├── README.md # User documentation
├── CONTRIBUTING.md # This file
└── LICENSE # MIT license
- Update version in package.json
- Update CHANGELOG.md (if exists)
- Commit:
git commit -m "Release v1.x.x" - Tag:
git tag v1.x.x - Push:
git push && git push --tags - Publish:
npm publish
Open an issue or discussion. We're happy to help!
Be kind, respectful, and constructive. We're all here to make git less painful.
Thanks for making git-undo better! 🚀