-
-
Save oucem/19561b6cffb895c3c92ebe616efa5acf to your computer and use it in GitHub Desktop.
Git tips
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
A tout moment, pour savoir où on en est en local | |
git status | |
Récupérer un projet dans un nouveau dossier local et se positionner dans la branche develop | |
git clone ssh://[adresse_ip]:[port]/[path] | |
git checkout develop | |
git pull origin develop | |
En récurrent, pousser une modification locale vers le repository distant | |
git add ./chemin_vers_mon_fichier {ligne à passer pour chaque fichier à commiter} | |
git commit -m 'mon commentaire' | |
git pull --rebase origin develop {à refaire juste avant le push au cas où un autre développeur a poussé une màj entre-temps} | |
git push origin develop {s'assurer de la bonne compilation et exécution des tests (mvn clean install) avant de faire un push} | |
Pour régresser une modification locale et récupérer la version serveur en écrasant le fichier local | |
git checkout -- fichier | |
Pour mettre un dév de côté | |
git stash save toto ==> crée une sauvegarde locale nommée toto avec toutes les modifs en cours. | |
git pull --rebase origin develop ==> se met à jour | |
... ==> faire ce qu'il y a à faire | |
git stash pop {id} ==> restaure la sauvegarde en local en écrasant | |
| Pour connaître l'ID : | |
| git stash list | |
| l'ID ressemble à stash@{0} (tout ce texte en entier) | |
Pour voir le contenu d'un commit | |
git show d728b7e --name-only | |
où d728b7e est l'id du commit (glog ou git log --color --oneline --decorate --graph). | |
Pour lister les fichiers modifiés entre 2 commits donnés | |
git diff --name-only SHA1 SHA2 | |
Fusion de branches develop vers deploy-dev | |
Se mettre en état "final" sur la branche develop, puis : | |
git checkout deploy-dev | |
git pull origin deploy-dev | |
git merge develop | |
git push origin deploy-dev | |
git checkout develop (pour se remettre dans la branche d'origine) | |
En cas de "Your branch is ahead of 'origin/develop' by x commits." | |
- retourner au niveau de 'origin/develop' avec : git reset --hard ed601bb {mettre le vrai sha1 en le récupérant de glog} | |
- se mettre à jour : git pull --rebase origin develop | |
- vérifier que le problème est toujours là : glog et gst | |
- faire un push : git push origin develop | |
==> Il ne devrait rien faire, mais il va positionner le origin/develop sur le HEAD. | |
Affichage de la liste des commits sous forme facilement lisible | |
git log --color --oneline --decorate --graph | |
Pour créer une branche à partir d'un commit donné | |
git branch branchname <sha1-of-commit> | |
ou : | |
git branch branchname HEADx où x est un nombre qui représente le nombre de commit à remonter depuis le HEAD. | |
Gestion des tags | |
- Récupérer les tags remote en local : git fetch --tags | |
- Se positionner sur un tag : git checkout nom_du_tag | |
- Se repositionner sur le dernier commit de la branche develop : git checkout develop | |
Remonter de quelques commits | |
- Pour supprimer les n derniers commit, tout en conservant les modifications en cours : | |
git reset --soft HEAD~n | |
- Pour supprimer les n derniers commit, mais en perdant les modifications en cours : | |
git reset --hard HEAD~n | |
- Si un push de ces commits avait été fait, et si aucun développeur parallèle n'a ajouté de commits : | |
git push origin HEAD --force | |
Ajouter des fichiers au dernier commit | |
git add <fichier> | |
git commit --amend | |
Pour se positionner sur une nouvelle branche "toto" distante qui n'existe pas localement | |
git fetch origin | |
git checkout -b toto origin/toto | |
Copier des commits vers la branche en cours | |
git cherry-pick sha1 sha2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment