Formation DevOps | Formation Git & Gitlab : 4- Les premiers pas avec Git

Git : les premiers pas …

Utilisation de git :

→ dans un terminal en ligne de commande ( git –help : la commande à retenir !)
→ via un outil graphique

Les commandes Git

Configuration (à la première utilisation)

git config –global user.name “Prénom Nom”

git config –global user.email email@domaine.extension

Pas de modification anonyme avec Git !!!

Le dépôt au cœurdeGit (ou repository)

**git init

Créer un nouveau dépôt : git init ** (dans le répertoire courant) **git clone Clôner un dépôt existant :

git clone ** (dans le répertoire courant)

Dépôt : Un dépôt est un dossier qui porte le nom .git.

C’est là que Git va stocker l’historique du projet c-a-d toutes les informations en rapport avec votre projet comme la liste des commits effectués, la liste desbranches, etc… (En savoir plus sur le contenu réeel de ce dépôt:

https://git-scm.com/book/fr/v2/Les-tripes-de-Git-Plomberie-et-porcelaine#_git_internals)

Enregistrer des changements

(git add, git commit, .gitignore)

Un répertoire avec son fichier … prêt à être versionné

git init

Bonjour tout le monde! espace de travail (working directory)

Demo

test.txt .git test.txt

Ajout d’un fichier dans l’Index
(zone en attente de commit)

espace de travail (working directory)

Demo

test.txt Bonjour tout le monde!.git

git add test.txt

zone de staging: pour regrouper les fichiers du prochain commit (=>plusieurs fichiers possibles dans un même commit)

add

Liste, entre autres, les fichiers stagés(dansl’index en attente d’être commité),nons tagés

status

Index (staging index) test.txt 306c18dea…

ls-files Liste les fichiers dans l’index et leur hash associé (signature en SHA-1) associé test.txt

Index (staging index)

git commit test.txt 306 c 18 dea …

committer : enregistrer un ensemble de modifications +Message obligatoire qui va être demandé

git commit –m “message”

log (dans Liste des commits le dépôt local) show Détail d’un commit (du dépôt local)

commit

Le commit vide l’index du fichier stagé Un hash (SHA-1) propre au commit

Dépôt local (local repository) test.txt + autres infos c1eb 479

Chaque commit est répertorié avec son auteur , sa date , son message et son SHA- 1 ainsi que des pointeurs vers un(des) commit(s) parent(s).

Chaque objet est identifié 40 caractères hexa décimaux ( sommede contrôle SHA- 1 de son contenu)

Un commit est l’unité de sauvegarde de git. C’est une image du répertoire de travail à l’instant t représentée à l’aide de trees et de blobs

Sources :https://fr.wikipedia.org/wiki/Git

Pour identifier une version, git s’appuie sur l’objet de type commit.

Un dépôt Git peut être vu comme une collection d’objets liés entre eux.

Sources :https://fr.wikipedia.org/wiki/Git

HEAD

L’historique d’un dépôt Git est l’ensemble des versions du répertoire de travail(succession de commits)

La tête (HEAD) de l’historique est un pointeur vers le dernier commit (utilisé comme prochain commit parent)

Git utilise 3 espaces différents pour manipuler les données.

espace de travail (working directory) Dossier du projet tel qu’il est stocké sur le disque.

Les fichiers dans cette zone peuvent être connus ou non degit

Dépôt local (local repository)

Index (staging index)

add
Espace de Transit Données en préparation pour le prochain commit (Fichiers à intégrer au prochain commit)

commit

contient tous le scommits c-a-d contient l’historique du projet. La tête de l’historique ( HEAD ) pointe vers le commit le plus récent de la branche courante

status

Recherche les fichiers stagés(en attente d’être commités) ou non

log Liste des commits

show Détaild’uncommit

Enregistrer de nouvelles modifications dans un nouveau commit (en une seule ligne)

espace de travail (working directory)

Demo

Bonjour tout le monde! J’utilise git!

test.txt.git

git commit –am “message”

test.txt

Dépôt local (local repository)

c1eb (^4799085634)

HEAD
log show
Tous les fichiers
trackés c-a-d ceux qui ont déjà été ajoutés à l’index une fois

Ignorer des fichiers dans l’historique (.gitignore)

Certains fichiers n’ont pas besoin d’être versionnés, et ne doivent pas être trackés (fichiers de log,fichiers résultants d’une compilation,fichiers de configuration,…) … à spécifier dans un fichier .gitgnore à la racine du dépôt. _(non trackés par git,ils ne seront pas détectés comme ayant subi un changement(modified** )et potentiellement commitable)

(Exemple pour un projet Maven sous Eclipse)

Quelques liens à consulter pour personnaliser son .gitignore :
https://git-scm.com/docs/gitignore#_pattern_format,https://github.com/github/gitignore
http://gary-rowe.com/agilestack/2012/10/12/a-gitignore-file-for-intellij-and-eclipse-with-maven,https://fr.atlassian.com/git/tutorials/gitignore






1. Nous contactez


2. Infra as a Service

  • Description: Infrastructure cloud évolutive et sécurisée
  • Links:

3. Projets Développeurs


4. Développeurs


5. Formations Complètes


6. Marketplace

7. Blogs


This website is powered by ItGalaxy.io