distante : git push origin --delete [nom_de_la_branche]
git reset --hard past_commit
git reset current_commit
git commit
Pour enlever des fichiers d'un commit lors d'un rebase interactif : utiliser le keyword 'edit'
Ensuite git reset HEAD^ path/to/file/to/revert
Ensuite git commit --amend
Ensuite git rebase --continue
git rebase -i $(git merge-base HEAD master)
alias grbb='git rebase -i $(git merge-base HEAD master)'
Pour modifier un commit sur sa branche qui est déjà plusieurs commits derrière HEAD
1) modifier les fichiers..
2) git add les fichiers
3) git commit --fixup $hash_de_l_ancien_commit
A partir de la un nouveau commit avec le commentaire fixup! est créé
Ensuite on peut lancer le rebase interactif avec l'option autosquash qui va ordonner tout ça proprement :
git rebase -i ancien_commit --autosquash
il y a aussi l'option --squash pour git commit qui va squash dans le rebase interactif au lieu de fixup
via Martin
git tag -a 1.0.1 -m "1.0.1"
git push --tags
Git hook scripts are useful for identifying simple issues before submission to code review. We run our hooks on every commit to automatically point out issues in code such as missing semicolons, trailing whitespace, and debug statements. By pointing these issues out before code review, this allows a code reviewer to focus on the architecture of a change while not wasting time with trivial style nitpicks.
git merge-base branch2 branch3
050dc022f3a65bdc78d97e2b1ac9b595a924c3f2
git merge-base HEAD origin/master