Pour rappel, Git est un logiciel de versions décentralisées. C’est un logiciel libre créé par Linus Torvalds.
Son fonctionnement est simple :
Git indexe tous les fichiers en effectuant un SHA-1 sur chaque fichier. Si un fichier est modifié, le SHA-1 sera différent et donc Git stocke en plus la nouvelle version. De plus, si le SHA-1 est identique alors c’est que le fichier n’est pas modifié.
Installation de Git
Passons à l’installation sous OpenBSD 5.1, rien de bien compliqué :
# pkg_add -i git |
Ajoutons un utilisateur, celui-ci permettra:
- D’exécuter le daemon Git.
- De pouvoir se connecter en SSH avec un utilisateur différent pour son système. (Évolution avec Gitolite)
- D’ordonner ses répertoires, si on travaille sur un même système, il est intéressant qu’un utilisateur soit créé pour gérer l’ensemble des projets.
# adduser git |
Client
Avant de passer à l’utilisateur du serveur Git, nous allons configurer notre client:
Mettons de la couleur dans Git grâce aux commandes suivantes :
$ git config --global color.diff auto $ git config --global color.status auto $ git config --global color.branch auto |
Puis, on configure notre identifiant (pour ma part, mon prénom) ainsi que l’adresse mail:
$ git config --global user.name Pierre $ git config --global user.email pierre@oversimple.fr |
De plus, des alias peuvent être mis en place. Par exemple pour « Git commit » on peut faire un « Git ci »:
git config --global alias.ci commit |
La configuration ci-dessus est présente dans le fichier .gitconfig. Il se trouve dans notre répertoire personnel.
$ cat ~/.gitconfig [color] diff = auto status = auto branch = auto [user] name = Pierre email = pierre@oversimple.fr [alias] ci = commit |
Utilisation du serveur Git
Créons notre projet Git :
$ mkdir monProjet $ cd monProjet $ git init |
Notre répertoire étant créé, il existe plusieurs méthodes disponibles pour travailler avec Git:
- Clone en local : git clone monProjet monProjetDeTravail
- Clone grâce au daemon git :
- Exécuter le daemon git (sur le serveur): /usr/local/libexec/git/git-daemon –verbose –base-path=/home/pierre/git/
- Récupérer le dépôt sur le poste client : git clone git://monServeur/monProjetgestion
- Clone via SSH :git clone ssh://git@monServeur/monProjet
Pour ajouter un fichier :
$ git add nomFichier |
Pour ajouter le contenu d’un répertoire:
$ git add monRepertoire/ |
Pour ajouter tous les nouveaux fichiers (ou les modifier):
$ git add . |
On peut aussi supprimer un fichier ou un répertoire:
$ git rm nomFichier $ git rm -r monRepertoire/ |
On commit notre changement (ajout/modification/suppression) :
$ git commit -m "Ajout du nomFichier" |
Retourner au dernier commit :
$ git reset --hard HEAD |
Visualiser les logs des différents commits:
$ git log |
On envoie les modifications sur le serveur afin qu’elles soient disponibles pour les autres utilisateurs, la première fois :
$ git push origin master |
Puis après :
$ git push |
Mettre à jour son dépôt local :
$ git pull |
Il existe plein d’autres possibilités; notamment la gestion des différentes branches.
It’s over simple, isn’t it?