Perche fare fork
Raramente si ha accesso in scrittura a un progetto a cui si vuole contribuire. Il workflow di fork lo risolve.
Il setup
git clone https://github.com/yourname/project.git
cd project
git remote add upstream https://github.com/original-owner/project.git
git remote -v
Il ciclo di contribuzione
git fetch upstream
git checkout main
git merge upstream/main
git push origin main
git checkout -b feature/improve-error-message
git push -u origin feature/improve-error-message
gh pr create --repo original-owner/project
Tenere il fork sincronizzato
git fetch upstream
git checkout main
git merge upstream/main --ff-only
git push origin main
git checkout feature/improve-error-message
git rebase main
git push --force-with-lease
Gestire feedback di review
git rebase -i upstream/main
git push --force-with-lease
PR multiple
git checkout main
git pull upstream main
git checkout -b feature/another-fix
Firmare i commit
git commit -s -m "Fix typo in error message"
git config commit.gpgsign true
git config user.signingkey YOUR_KEY_ID
Etichetta
- Leggere CONTRIBUTING.md prima di aprire una PR.
- Aprire un issue per cambiamenti non banali.
- Una preoccupazione per PR.
- Essere paziente.
- Rispondere al feedback con grazia.
Dopo il merge
git checkout main
git fetch upstream
git merge upstream/main --ff-only
git push origin main
git branch -d feature/improve-error-message
git push origin --delete feature/improve-error-message