Debian GNU/Linux
apt-get install git
Git reçoit une copie de quasiment toutes les données dont le serveur dispose, l'historique de tous les fichiers du projet est téléchargé.
git clone https://github.com/jeromefath/iut-mmi-programmation-web.git
Qu'est-ce que Git en quelques mots ?
Pour vérifier quels fichiers sont dans quel état :
git status
Pour consulter les modifications de façon plus compacte :
git status -s
Placer de nouveaux fichiers sous suivi de version ou indexer des fichiers modifiés :
git add file1.txt
Dans le cas où un fichier est accidentelement indexé, il est possible d'abandonner le suivi de version :
git rm --cached file1.txt
Pour visualiser ce qui a été modifié mais pas encore indexé :
git diff
Pour visualiser les modifications indexées qui feront partie de la prochaine validation :
git diff --cached
Une fois la zone d’index dans l’état désirée, valider (crée une nouvelle version) et ajouter un message pour décrire les modifications :
git commit
Le message de validation peut être renseigé en ligne de commande :
git commit -m "description du commit"
Pour consulter un historique de validation (commits) :
git log #affiche le détail des commits
git log --pretty=oneline #affiche un résumé sur une ligne de chaque commit
.gitignore, détermine les fichiers ne devant pas apparaître pour le suivi de version :
.DS_Store
.svn
log/*.log
tmp/**
node_modules/
.sass-cache
css/reveal.min.css
js/reveal.min.js
Création d'un dépôt git dans un répertoire existant :
git init
A cet instant un nouveau répertoire .git est créé et encore aucun fichier n'est versionné.
Les dépôts distants sont des versions du projet hébergées sur un serveur, il est possible de configurer plusieurs dépôts :
git remote add [name] [url]
Pour visualiser les serveurs distants enregistrés :
git remote
Ajouter l'option -v pour obtenir l'url associée à chaque nom des dépôts distants enregistrés :
git remote -v
Récupérer et tirer depuis des dépôts distants, pour obtenir les données lancer la commande :
git fetch [name]
Pousser son travail sur un dépôt distant avec la commande :
git push [name] [branch]
Pour les systèmes de gestion de versions, les branches peuvent être représentées par la séparation d'une route en deux chemins distincts.
Dans Git, une branche est un pointeur vers un commit du dépôt.
À chaque validation, le pointeur de la branche master avance automatiquement.
Comment créer une nouvelle branche ?
git branch testing
Comment basculer entre les branches ?
git checkout testing
git add file.txt
git commit -m "add file"
Nous travaillons sur notre branche testing pour l'implémentation d'une nouvelle fonctionnalité.
Une fois le développement terminé, la branche testing est fusionnée dans
git checkout master
git merge testing
Attention aux conflits de fusions !
Les branches distantes permettent de conserver l’état des branches sur votre dépôt distant.
Dans le cas d'un projet collaboratif, vous pouvez synchroniser vos travaux avec les commandes suivantes :
git fetch origin #récupère les données distantes mise à jour par un autre développeur
git merge origin/master #fusionne votre branche master avec les données distantes rapatriées
Une branche de suivie permet de rapatrier et fusionner les données depuis un dépôt distant en une commande :
git pull origin master
Pour obtenir la liste des branches distantes suivies ou non rapatriées et celles automatiquement poussées, utilisez la commande en spécifiant le nom court du dépôt distant :
git remote show [name]