Aller au contenu

Git

Renommer une branche

# on renomme la branche locale
git branch -m ancien-nom nouveau-nom

# On va renommer la branche distante
git push origin -u nouvelle-branche
# On supprime l'ancienne branche
git push origin --delete ancienne-branche

Mettre à jour l'url du repo distant

git remote set-url origin https://github.com/user/nouveau-nom-repo.git

Vérifier l'accès ssh au serveur

ssh -T git@bitbucket.org

Historique d'un fichier renommé ou supprimé

Fichier renommé : --follow

    git log --follow -- ancien/chemin/fichier.ts
L'option --follow traverse les renommages et continue l'historique avant le rename. Sans elle, git s'arrête au commit du renommage. Tu peux combiner avec les options habituelles :
    git log --follow --oneline -- src/bdr/BdrHeader.ts
    git log --follow -p -- src/bdr/BdrHeader.ts   # avec le diff complet

Fichier supprimé

Si le fichier n'existe plus dans le working tree, git log fonctionne quand même, il suffit de préciser le chemin :

    git log -- chemin/vers/fichier-supprime.ts
Pour voir le dernier état du fichier avant suppression :
    # Trouver le commit de suppression
    git log --diff-filter=D -- chemin/fichier.ts

    # Afficher le contenu à ce commit (le ^ remonte d'un commit)
    git show <commit-hash>^:chemin/fichier.ts

Fichier renommé et supprimé

Combine les deux :

    git log --follow --diff-filter=D -- ancien/chemin/fichier.ts

Retrouver l'ancien nom d'un fichier

Si tu ne te souviens plus de l'ancien chemin :

    git log --all --full-history --follow --name-status -- "**/NomPartiel*"
Le --name-status affiche les lignes R (Renamed) avec ancien et nouveau chemin.

J'avais "permission denied" pour le projet de synchronisation, j'ai du taper la commande suivante pour que la commande meteor npm install veuille bien se lancer.

```$env:GIT_SSH_COMMAND = "C:/Windows/System32/OpenSSH/ssh.exe"```

Ensuite j'ai rencontré une autre erreur, et je suis passé par yarn : ```meteor npx yarn install```