0
INDEX
Outils
Smart Git/HG: prend en charge Git et Mercurial, pratique notamment pour voir les changements mis en « stash ».
En mode console: tig
Très rapide pour naviguer dans les commits, avec une bonne coloration syntaxique c’est parfait. J’utilise oh-my-zsh et Solarized :
On peut aussi utiliser un pipe et lui envoyer le résultat d’une commande git, pour obtenir la coloration et naviguer dans les lignes, par exemple : git log | tig
Commandes
Voir ce qui va être poussé vers le repository distant
1 | git diff origin /master |
Voir l’état de la branche
1 | git status |
Créer une branche
1 2 3 4 5 | git clone <repository> git checkout <revision> git checkout -b <branch_name> git commit -m "Create branch <branch_name>" git push origin <branch_name> |
Changer de branche
1 | git checkout <branch_name> |
Roolback vers un commit particulier
1 2 3 4 5 6 7 | git clone git@github.com:repo.git git reset --hard 25616524640ffe74671fe5cd81ac7295338076f8 git reset --soft HEAD@{1} git commit -a -m " Rollback commits" # View what's going to be pushed" git diff origin /master git push |
Reporter un commit d’une branche vers une autre (ici master vers branche)
La commande cherry-pick conserver l’auteur et la date d’origine.
1 2 3 4 5 6 | git clone git@github.com:<repository>.git git checkout 1_x git cherry-pick <revision sha> git add git commit git push |
Pour reporter plusieurs commits
Le commit de gauche n’est pas inclu :
1 | git cherry-pick <oldest sha>..<latest sha> |
Le commit de gauche est inclu :
1 | git cherry-pick <oldest sha>^..<latest sha> |
Supprimer un tag
1 2 3 | git pull git tag -d 1_1 git push origin :refs /tags/1_1 |
Obtenir la liste des fichiers modifiés entre 2 commits
1 | git diff -tree -r --no-commit- id --name-only -- diff -filter=ACMRT c3dc087 268de04 | sed -e 's/.*/"&"/g' |
Existe aussi en mode échappement des espaces :
1 | git diff -tree -r --no-commit- id --name-only -- diff -filter=ACMRT c3dc087 268de04 | sed -e 's/ /\\\ /g' |
Voir aussi :
Importer un repository GIT dans un autre
Importer un repository GIT dans un autre
DATE 27 Mai 2013