|
|
Principales commandes pour Git
|
|
Principales commandes pour Git
|
|
|
--------------------------------
|
|
--------------------------------
|
|
|
|
|
|
|
|
1. Install de git sur le serveur
|
|
1. **Install de git sur le serveur**
|
|
|
|
|
|
|
|
* Utilisation du SSH pour se connecter à git
|
|
* Utilisation du SSH pour se connecter à git
|
|
|
`ssh-keygen -o -t rsa -C "your.email@example.com" -b 4096` : Pour generer la clé SSH (-o peut poser problème)
|
|
`ssh-keygen -o -t rsa -C "your.email@example.com" -b 4096` : Pour generer la clé SSH (-o peut poser problème)
|
| ... | @@ -26,7 +26,7 @@ Installer Git puis se placer dans le dossier ou on veut mettre le "repo". Utilis |
... | @@ -26,7 +26,7 @@ Installer Git puis se placer dans le dossier ou on veut mettre le "repo". Utilis |
|
|
`git clone git@gricad-gitlab.univ-grenoble-alpes.fr:ferrafli/RIE-2017-ProjetTutore-G1.git`
|
|
`git clone git@gricad-gitlab.univ-grenoble-alpes.fr:ferrafli/RIE-2017-ProjetTutore-G1.git`
|
|
|
cela va créer un répertoire du nom de "RIE-2017-ProjetTutore-G1" dans lequel il y a tous les fichiers.
|
|
cela va créer un répertoire du nom de "RIE-2017-ProjetTutore-G1" dans lequel il y a tous les fichiers.
|
|
|
|
|
|
|
|
2. Modifications Git sur notre serveur de prod
|
|
2. **Modifications Git sur notre serveur de prod**
|
|
|
|
|
|
|
|
0. Information
|
|
0. Information
|
|
|
Chaque utilisateur a le "repo" cloné dans le dossier suivant "~/RIE-2017-ProjetTutore-G1"
|
|
Chaque utilisateur a le "repo" cloné dans le dossier suivant "~/RIE-2017-ProjetTutore-G1"
|
| ... | @@ -70,12 +70,22 @@ Annuler un ou plusieurs commit |
... | @@ -70,12 +70,22 @@ Annuler un ou plusieurs commit |
|
|
|
|
|
|
|
6. Gestion des merge avec le master
|
|
6. Gestion des merge avec le master
|
|
|
`git merge Modifications-Lionel`(on merge vers la branche en cours à partir de la branche Lionel)
|
|
`git merge Modifications-Lionel`(on merge vers la branche en cours à partir de la branche Lionel)
|
|
|
|
`git merge --abort` Dans le cas de conflits -> on peut annuler le merge en cours non commité
|
|
|
Pour choisir les bons fichiers en cas de conflit sur un merge, on peut choisir le fichier complet d'une branche avec la fonction suivante :
|
|
Pour choisir les bons fichiers en cas de conflit sur un merge, on peut choisir le fichier complet d'une branche avec la fonction suivante :
|
|
|
`git checkout --theirs index.php` (on garde le fichier index.php de la branche à partir de laquelle on merge)
|
|
`git checkout --theirs index.php` (on garde le fichier index.php de la branche à partir de laquelle on merge)
|
|
|
`git checkout --ours index.php` ( on garde le fichier index.php de la branche en cours )
|
|
`git checkout --ours index.php` ( on garde le fichier index.php de la branche en cours )
|
|
|
Sinon il faut editer les fichiers en conflit et garder ce qu'on veut.
|
|
Sinon il faut editer les fichiers en conflit et garder ce qu'on veut.
|
|
|
|
|
|
|
|
3. Synchro des modifications avec le serveur de prod pour Test
|
|
7. Modifications des commit pour nettoyage commentaires
|
|
|
|
`gitk --all` Affiche graphiquement l'etat des branches du git. Permet de voir ou nettoyer
|
|
|
|
`git checkout origin/Modifications-Romain -b nettoyage` creation branche 'nettoyage' à partir de 'Modifications-Romain' (pour exemple)
|
|
|
|
`git rebase -i 5d4e4fd54f` 5d4e4fd54f correspond au commit a partir duquel on veut nettoyer les commentaires
|
|
|
|
Choisir l'option fixup en remplaçant 'pick' par 'f' pour toutes les lignes ou on veut supprimer les commentaires
|
|
|
|
`git branch -m nettoyage Modifications-Romain` On renomme la branche 'nettoyage' pour remplacer celle de Romain
|
|
|
|
`git push --force origin Modifications-Romain` On force la mise à jour sur le serveur git
|
|
|
|
|
|
|
|
|
|
|
|
3. **Synchro des modifications avec le serveur de prod pour Test**
|
|
|
Il faut alors copier ses modifications dans son répertoire de test
|
|
Il faut alors copier ses modifications dans son répertoire de test
|
|
|
`cp -r ~/RIE-2017-ProjetTutore-G1/SiteWeb/html/* /var/www/html/test_Lionel` (pour le répertoire test de Lionel)
|
|
`cp -r ~/RIE-2017-ProjetTutore-G1/SiteWeb/html/* /var/www/html/test_Lionel` (pour le répertoire test de Lionel)
|
|
|
<br><br>Si on veut récupérer les données du dossier test_Romain vers son git (pour le code du répertoire Romain)
|
|
<br><br>Si on veut récupérer les données du dossier test_Romain vers son git (pour le code du répertoire Romain)
|
| ... | |
... | |
| ... | | ... | |