Quelques commandes utiles avec git
Par Alexis Lefebvre le lundi 18 juillet 2022, 20:36 - Lien permanent
Voici quelques commandes qui me sont très utiles et que j'utilise souvent.
Créer un commit basé sur le nom de la branche puis le modifier
git commit --message $(git rev-parse --abbrev-ref HEAD | tr "-" " ") ; git commit --amend
Mettre à jour la branche locale à partir du dépôt amont
git pull upstream $(git rev-parse --abbrev-ref HEAD)
Créer un commit pour corriger un commit précédent
git commit --fixup HEAD~1
HEAD~1 est une référence à l'avant-dernier commit.
On peut alors rebaser la branche et activer la fusion automatique via l'option --autosquash :
git rebase --interactive --autosquash \ origin/develop
Définir la branche amont
Quand git n'arrive pas à faire un pull:
git pull
Pas d'information de suivi distant pour la branche actuelle.
Veuillez spécifier une branche avec laquelle fusionner.
Référez-vous à git-pull(1) pour de plus amples détails.
git pull <distant> <branche>
Si la branche amont et locale ont le même nom, on peut les lier avec la commande suivante :
git branch --set-upstream-to=origin/$(git rev-parse --abbrev-ref HEAD)
Et git pull sera fonctionnel.
Supprimer les branches locales qui ont déjà été fusionnées
git branch -a \ | grep -v "remotes\|develop\|master\|main" \ | tr -d " " | xargs git branch -d
Cette commande supprime les branches sauf les branches principales exclues avec grep -v
Optimiser le stockage des fichiers git
find ~/works/ -name '*.git' \
-execdir sh -c 'echo && cd {} \
&& pwd && git gc && git prune' \;
find trouve tous les répertoires dans le dossier ~/works/ qui contiennent eux-mêmes un dossier .git et lance les opérations de nettoyage.
Récupérer le nom de la branche (sans les tirets) dans le presse-papier
git rev-parse --abbrev-ref HEAD | tr "-" " " \ | xsel --clipboard