20 Dec 2019, 00:00

Vrac git

Share

Interface graphique basique mais fonctionnelle : gitg

Configuration

git config --global credential.helper "cache --timeout=3600"
#pour  mettre les identifiants du serveur distant en cache pendant 1h

Configuration du nom/mail enregistrés lors des commits :
git config user.name "my_username"
git config user.email "<>" (pour un mail vide)
Ça sera enregistré dans .git/config sous la forme

[user]
        name = my_username
        email = <>

Ça peut être configuré globalement avec git config --global

Remote

“remote” représente un serveur distant avec lequel on se synchronise. Il a un nom, typiquement “origin”.
Pour voir le remote actuel :
git remote -v

Pour le modifier :
git remote set-url origin
suivi de l’URL (généralement trouvable dans l’interface web du dépôt). Ceci peut être utilisé pour passer de HTTPS à SSH : par exemple pour une URL https de type :
origin https://git.example.org/myself/myproject/
il faut entrer la commande :
git remote set-url origin git@git.example.org:myself/myproject

On peut changer le nom du remote :
git remote rename oldname newname

Versionning

git init : crée les fichiers nécessaires au fonctionnement de git (.git/)

HEAD : l’emplacement sur l’arbre où l’on se situe actuellement

git status

git add : pour tracker un dossier, fichier (ou plus fin ?)
git commit : valide le diff, -m pour message custom

git diff : liste les modifications depuis le dernier commit (ajouter --cached si sortie vide)
git show [commit] : liste les différences entre le commit actuel (ou spécifié) et le commit précédent

git fetch : lit les nouvelles modification sur le serveur distant
git pull : applique ces modifications sur notre arborescence locale
git pull --rebase : pour ne pas faire de commmit lorsqu’on repositionne notre HEAD

git log : voir l’historique des commits

git branch : pour lister les branches (git branch new-feature pour créer une branche)
git checkout : changer de branche
git checkout -b new-feature : crée la branche new-feature et m’y positionne
git push --set-upstream origin new-feature : réplique la branche new-feature sur le serveur distant

git push : après avoir commit, envoie le(s) commit sur le serveur distant
git stash : met en “presse papier” les diffs actuel et se resync avec le commit le plus récent
git stash apply : réapplique ce “presse-papiers”
# le combo des 2 peut permettre de résoudre une situation “modifié des 2 côtés” en mettant de côté notre travail, récupérant les modifs sur le serveur distant puis réappliquant nos diff dessus