Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
informatique:scm:git [2013/01/18 16:32] – [Utilisation courante] bn8 | informatique:scm:git [2024/08/22 17:13] (Version actuelle) – bn8 | ||
---|---|---|---|
Ligne 81: | Ligne 81: | ||
===== Accès au serveur ===== | ===== Accès au serveur ===== | ||
==== Renseigner son profil git ==== | ==== Renseigner son profil git ==== | ||
- | | + | <code bash>git config --global user.email " |
- | git config --global user.name "User Name" | + | git config --global user.name "User Name"</ |
**Remarque : ** Les infos sont stockées dans // | **Remarque : ** Les infos sont stockées dans // | ||
==== Clone ==== | ==== Clone ==== | ||
- | * Via Git (Lecture~) | + | * Via protocole |
- | + | ||
- | | + | |
- | * Via SSH (Lecture/ | + | * Via SSH : <code bash>git clone ssh:// |
- | + | ||
- | | + | |
**monprojet_local** : Chemin local du repo | **monprojet_local** : Chemin local du repo | ||
- | ==== Utilisation courante | + | ==== Track d'une branche distante |
- | * Connaitre le statut des fichiers modifié/ | + | |
- | | + | <code bash>git checkout -b prod origin/ |
- | * Ajouter un nouveau fichier | ||
- | | + | ==== Utilisation courante ==== |
+ | * Connaitre le statut des fichiers modifié/ | ||
- | * Supprimer | + | * Ajouter |
- | git rm file1 | + | |
- | * Bouger/ | + | * Bouger/ |
- | git mv file-old file-new | + | |
- | * Commiter (local) | + | * Envoyer ses commits sur le serveur remote : <code bash>git push</ |
- | | + | * Récupérer les derniers commits des autres dans son repos : <code bash>git pull</ |
- | + | ||
- | * Envoyer ses commits sur le serveur remote | + | |
- | + | ||
- | git push | + | |
- | + | ||
- | | + | |
- | + | ||
- | | + | |
| | ||
* Modifier le dernier commit (non propagé) : | * Modifier le dernier commit (non propagé) : | ||
- | | + | |
- | | + | |
- | * Supprimer le dernier commit (en conservant les modifications) : < | + | |
+ | * **Via //" | ||
+ | - commiter vos modifications à fusionner dans le précédent commit via la commande suivante en indiquant l'ID du commit à modifier <code bash>git commit --fixup=38b184620e5d0da47de4c6d7ed81e807af479fb2</ | ||
+ | - exécuter ensuite la commande suivante en indiquant l'ID du commit à modifier (attention au '' | ||
+ | * **Via une édition manuelle :** | ||
+ | - exécuter la commande suivante en indiquant l'ID du commit à modifier (attention au '' | ||
+ | - Dans l' | ||
+ | - Effectuer la modification souhaitez puis commiter à l'aide de la commande suivante : <code bash>git commit --all --amend --no-edit</ | ||
+ | - Vous pouvez constater que votre commit à bien été modifié à l'aide de la commande '' | ||
+ | - Pour revenir à votre //working tree// intégrant vos commits suivants, exécuter la commande suivante : <code bash>git rebase --continue</ | ||
+ | |||
+ | | ||
+ | * Supprimer le dernier commit (en **suppriant** les modifications) : <code bash>git reset --hard | ||
**Remarque :** C'est la même chose qu'un //git fetch// puis un //git merge// | **Remarque :** C'est la même chose qu'un //git fetch// puis un //git merge// | ||
- | * Voir la liste des commits : | + | * Voir la liste des commits : <code bash>git log</ |
- | + | ||
- | | + | |
**Remarque : ** On peut rajouter un nom de fichier pour voir seulement les commits impactant ce fichier. | **Remarque : ** On peut rajouter un nom de fichier pour voir seulement les commits impactant ce fichier. | ||
+ | |||
+ | * Générer des patchs à partir de vos commits : | ||
+ | * repérer dans '' | ||
+ | * lancer la commande suivante : <code bash>git format-patch [ID commit précédent]</ | ||
+ | * Appliquer un patch sans comiter : <code bash>git apply [patch]</ | ||
+ | * Appliquer un patch et le comiter avec les informations fournis dans celui-ci : <code bash>git am --signoff -k < [patch]</ | ||
+ | **Remarques :** | ||
+ | * le paramètre '' | ||
+ | * le paramètre '' |