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