title: "Tutoriel git
introduction | installation | dépôt local | dépôt distant | branches | forks
"
output:
toc: true
Git permet de synchroniser un dépôt local avec un dépôt distant (sur un
serveur). Ceci permet d'envoyer les commits locaux sur le serveur et de
récupérer les commits du serveur dans le dépôt local.
Lorsqu'un dépôt local est synchronisé avec un serveur, une étiquette
supplémentaire (origin/master
) est utilisée pour indiquer le dernier commit
du serveur.
Il existe des serveurs comme github qui permettent d'héberger gratuitement des dépôts publics (visibles par tout le monde). Le serveur gogs du SCOSI vous permet d'héberger des dépôts publics ou privés. Il dispose d'une page web vous permettant de gérer vos projets. Pour cela, allez à l'adresse https://gogs.univ-littoral.fr et entrez vos identifiants du portail ULCO :
Une fois identifié(e), le site vous affiche une page d'accueil (derniers commits, dépôts actifs...) :
Pour créer un nouveau dépôt distant, allez sur la page du serveur gogs et cliquez "New Repository".
Entrez le nom du dépôt distant à créer (évitez les espaces), puis cliquez "Create Repository".
Le dépôt distant est alors créé et une page vous indique comment le récupérer localement. Attention, il y a une méthode plus simple que celle indiquée (cf section suivante).
La commande git clone ...
permet de récupérer un dépôt distant sur votre
machine (cf image ci-dessous). Pensez à mettre votre login après le "https://"
(pour vous éviter d'avoir à le retaper sans arrêt, plus tard).
Si vous avez déjà créé et modifié un dépôt local,
alors vous pouvez le synchroniser
avec un dépôt distant en utilisant les commandes git remote add origin ...
puis git push -u origin master
.
Si vous avez le choix, faites plutôt un clone (méthode de la section précédente) : c'est plus simple et le résultat sera exactement le même.
La commande git pull
permet de récupérer les éventuelles modifications sur le
serveur et de les intégrer dans votre dépôt local.
Après des commits locaux...
... la commande git push
permet d'envoyer vos commits locaux sur le serveur.
Les commits/fichiers envoyés sur le serveur sont alors visibles sur la page web.
Vous pouvez également voir le contenu de votre dépôt avec un client graphique.
Imaginez que vous avez modifié et commité un fichier, et que vous voulez
l'envoyer sur le serveur. Pour cela, il faut d'abord faire un git pull
avant
le git push
au cas où l'un de vos collaborateurs aurait envoyer une
modification sur le serveur entre temps.
Si des modifications ont été faites en parallèle...
... git est souvent capable de les fusionner mais parfois il n'arrive pas à résoudre le conflit et il vous demande de le faire manuellement.
Pour résoudre un conflit, il suffit d'ouvrir le fichier en cause et de
remplacez les zones marquées par le contenu que vous voulez obtenir.
Il existe des outils graphiques comme meld
qui peuvent vous y aider.
Une fois les conflits édités, vous pouvez commiter...
... et pusher vers le serveur.
Résumé des commandes git précédentes :
---|---|
git clone
| récupère un dépôt distant |
git pull
| récupère les modifications du dépôt distant et les intègre dans le dépôt local |
git push
| envoie les commits du dépôt local sur le dépôt distant |
Quelques conseils de méthode de travail :
git clone
git pull
git pull
avant d'envoyer vos nouveaux commits sur le serveur (git push
)TODO
Dernière mise à jour : 2016-03-05