120 lines
3.0 KiB
Markdown
120 lines
3.0 KiB
Markdown
# Git Commands Quick Reference Card
|
|
|
|
## Essential Daily Commands
|
|
|
|
### Starting Your Work Session
|
|
```bash
|
|
git status # Check current repository state
|
|
git pull origin main # Get latest changes from remote
|
|
git checkout -b feature/name # Create and switch to new branch
|
|
```
|
|
|
|
### During Development
|
|
```bash
|
|
git status # Check what files have changed
|
|
git diff # See what changes you've made
|
|
git add filename # Stage specific file
|
|
git add . # Stage all changes
|
|
git commit -m "message" # Save changes with description
|
|
git push origin branch-name # Backup your work to remote
|
|
```
|
|
|
|
### Completing a Feature
|
|
```bash
|
|
git checkout main # Switch back to main branch
|
|
git pull origin main # Get latest changes
|
|
git merge feature/name # Merge your feature
|
|
git push origin main # Push completed feature
|
|
git branch -d feature/name # Delete local feature branch
|
|
```
|
|
|
|
### Emergency Commands
|
|
```bash
|
|
git stash # Temporarily save uncommitted work
|
|
git stash pop # Restore stashed work
|
|
git reset --soft HEAD~1 # Undo last commit, keep changes
|
|
git checkout -- filename # Discard changes to specific file
|
|
```
|
|
|
|
### Information Commands
|
|
```bash
|
|
git log --oneline # View commit history
|
|
git branch -a # See all branches
|
|
git remote -v # See remote repositories
|
|
git diff HEAD~1 # Compare with previous commit
|
|
```
|
|
|
|
## Commit Message Best Practices
|
|
|
|
### Good Examples:
|
|
- `Add user authentication system`
|
|
- `Fix login validation bug`
|
|
- `Update README with installation steps`
|
|
- `Refactor database connection logic`
|
|
|
|
### Bad Examples:
|
|
- `fixed stuff`
|
|
- `updates`
|
|
- `asdf`
|
|
- `commit`
|
|
|
|
### Conventional Commit Format:
|
|
- `feat: add user registration`
|
|
- `fix: resolve login timeout issue`
|
|
- `docs: update API documentation`
|
|
- `style: format code with prettier`
|
|
|
|
## File Naming Conventions
|
|
|
|
### Repository Names:
|
|
- Use lowercase letters
|
|
- Use hyphens instead of spaces
|
|
- Be descriptive but concise
|
|
- Examples: `user-management-system`, `blog-website`, `data-analysis-tools`
|
|
|
|
### Branch Names:
|
|
- `feature/add-user-auth`
|
|
- `bugfix/fix-login-error`
|
|
- `docs/update-readme`
|
|
- `hotfix/critical-security-patch`
|
|
|
|
### File Names:
|
|
- Use meaningful names
|
|
- Follow language conventions
|
|
- Examples: `user_controller.py`, `LoginForm.js`, `database-schema.sql`
|
|
|
|
## Common Git Patterns
|
|
|
|
### Feature Development Workflow:
|
|
```
|
|
main branch
|
|
↓
|
|
feature branch (work here)
|
|
↓
|
|
merge back to main
|
|
↓
|
|
delete feature branch
|
|
```
|
|
|
|
### Daily Routine:
|
|
```
|
|
Morning: git pull origin main
|
|
Work: edit → add → commit → push (repeat)
|
|
Evening: merge completed features to main
|
|
```
|
|
|
|
### Project Structure:
|
|
```
|
|
my-project/
|
|
├── README.md
|
|
├── .gitignore
|
|
├── LICENSE
|
|
├── CHANGELOG.md
|
|
├── src/
|
|
│ ├── main.py
|
|
│ └── utils.py
|
|
├── docs/
|
|
│ └── setup.md
|
|
└── tests/
|
|
└── test_main.py
|
|
``` |