Créer un nouveau dépôt : créer un dossier et se placer dans celui-ci. Exécuter la commande :
$ git init
Cela crée un nouveau sous-répertoire nommé .git qui contient tous les fichiers nécessaires au dépôt.
Cloner un dépôt local : créer une copie du dépôt local :
$ git clone /path/to/the/repository
Toutes les versions de tous les fichiers pour l'historique du projet sont téléchargées (aucune perte de données).
Cloner un dépôt distant : créer une copie du dépôt d'un serveur git distant
Suivant le protocole utilisé par le serveur : SSH, GIT ou HTTPS
$ git clone username@host:/path/to/the/repository
$ git clone git://github.com/user/depot.git
$ git clone https://username@host:/path/to/the/repository
Vérfier l'état du dépôt : indique la branche (master par défaut) sur laquelle est le dépôt, les fichers modifiés ou non suivis.
$ git status
On branch master
Untracked files:
(use "git add ..." to include in what will be committed)
LISEZMOI
nothing added to commit but untracked files present (use "git add" to track)
Ajouter des fichiers au suivi de version : pour un nouveau fichier par exemple. Les modifications de ce fichier seront donc suivies
$ git add LISEZMOI
Indexer un fichier : cela signifie que le fichier sous suivi de version a été modifié dans la copie de travail mais n'est pas encore indexé.
$ git add benchmarks.rb
Ajouter et/ou indexer tous les fichiers au suivi de version :
$ git add *
Comparer le contenu du répertoire à l'index : Pour visualiser ce qui a été modifié mais pas encore indexé
$ git diff
diff --git a/benchmarks.rb b/benchmarks.rb
index 3cb747f..da65585 100644
--- a/benchmarks.rb
+++ b/benchmarks.rb
@@ -36,6 +36,10 @@ def main
@commit.parents[0].parents[0].parents[0]
end
+ run_code(x, 'commits 1') do
+ git.commits.size
+ end
+
run_code(x, 'commits 2') do
log = git.commits('master', 15)
log.size
Valider les modifications :
$ git commit
On a alors un éditeur de texte qui s'ouvre et affiche :
Il faut alors entrer en début de fichier juste avant le premier # le titre du commit
(modifications apportées), sauter une ligne et énumérer les modifications apportées.
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
# (use "git reset HEAD ..." to unstage)
#
# new file: LISEZMOI
# modified: benchmarks.rb
~
~
~
".git/COMMIT_EDITMSG" 10L, 283C
git add). $ git commit
-a
Effacer des fichiers : Pour effacer un fichier de Git, vous devez l'éliminer des fichiers en suivi de version (l'effacer dans la zone d'index) puis valider.
$ git rm benchmarks.rb
$ git rm file
Visualiser les modifications : cette commande possède de nombreuses options dont -p qui montre les différences introduites entre chaque
validation.
--stat pour avoir les différences entre chaque commit, -"n" qui affiche les n derniers commits
$ git log
Modifier le dernier commit : Une des annulations les plus communes apparaît lorsqu'on valide une modification trop tôt en oubliant d'ajouter certains fichiers, ou si on se trompe dans le message de validation.
$ git commit --amend
Désindexer un fichier déjà indexé : Pour annuler par exemple une mauvaise action
effectuée par un git add *
$ git reset HEAD benchmarks.rb
Réinitialiser un fichier modifié : Pour annuler toutes les modifications effectuées sur un fichier.
$ git checkout -- benchmarks.rb
Afficher les dépôts distants : Pour visualiser les serveurs distants que vous avez
enregistrés, vous pouvez lancer la commande git remote
$ git commit --amend
Ajouter des dépôts distants : Pour ajouter un nouveau dépôt distant Git comme nom court auquel il est facile de faire référence
$ git remote add [nomcourt] [url]
Récupérer et tirer depuis des dépôts distants : Cette commande s'adresse au dépôt distant et récupère toutes les données de ce projet que vous ne possédez pas déjà.
$ git remote add [nomcourt] [url]
Fusion automatique : la commande git pull récupère et fusionne automatiquement une branche distante dans la branche locale.
$ git pull
Pousser son travail sur un dépôt distant : Cette commande ne fonctionne que si vous avez cloné depuis un serveur sur lequel vous avez des droits d'accès en écriture et si personne n'a poussé dans l'intervalle.
$ git push [nom-distant] [nom-de-branche]
Gestion du dépôt
Ignorer des fichiers : Il apparaît souvent qu'un type de fichiers présent dans la copie de travail ne doit pas être ajouté automatiquement ou même ne doit pas apparaître comme fichier potentiel pour le suivi de version. Renseigner un fichier .gitignore avant de commencer à travailler est généralement une bonne idée qui évitera de valider par inadvertance des fichiers qui ne doivent pas apparaître dans le dépôt Git.
# un commentaire, cette ligne est ignorée
# pas de fichier .a
*.a
# mais suivre lib.a malgré la règle précédente
!lib.a
# ignorer uniquement le fichier TODO à la racine du projet
/TODO
# ignorer tous les fichiers dans le répertoire build
build/
# ignorer doc/notes.txt, mais pas doc/server/arch.txt
doc/*.txt
# ignorer tous les fichiers .txt sous le répertoire doc/
doc/**/*.txt
Un dépôt local contient trois arbres :
git
add)