Lister les branches par ordre de date de commit:
$ git branch --sort=-committerdate
Lister les branches avec les commits:
$ git branch -vv
$ git branch <branch>
Pousser la branche sur origin
:
$ git push origin <branch>
Aussi
$ git checkout -b newbranch origin/newbranch
$ git checkout <branch>
Pour obtenir une branche qui n'est pas locale, mais sur le dépôt distant:
$ git checkout -b <branch> --track origin/<branch>
Retourner à la branche précédente:
$ git checkout -
git branch -a
Pour annuler les changements sans avertissement (à utiliser avec précaution, peut causer la perte de données):
git checkout -- .
Ayant une branche localement, on veut récupérer la branche master et la fusionner dans la branche locale. Par exemple, si la base de données a changé, ainsi que le code sur master, on veut récupérer ce changement.
$ git checkout master $ git pull
$ git checkout <nom_de_la_branche> $ git merge master
git branch -m <oldname> <newname>
$ git branch new-branch-name origin/old-branch-name $ git push origin --set-upstream new-branch-name $ git push origin :old-branch-name
$ git branch --move master main
La branche “branche” existe localement et a été publiée. Elle a été aussi mergée au master.
git branch -D <branch_name>
git push origin :<branch_name>
La documentation officielle : Git-Rebase
Si on a une branche develop qui a branché de master et qu'on veut inclure les changements de master plus tard dans le temps, en étant sur develop, on peut faire:
$ git rebase master $ git rebase master develop
Outil: Rebase Editor
On veut squasher les commits :
$ git merge-base develop <nom-de-la-branche>
La commande donne le SHA du nouveau commit.
$ git rebase -i <sha-commit>
Éditer le fichier en gardant le premier pick
et précéder les autres de f
.
$ git push -u origin <nom-de-la-branche> --force