Formation Git

Aspireflex

Le 15/06/2022

Formation Git

  1. Présentation théorique, concepts
  2. Initiation aux commandes
  3. Ouverture comptes et démo Gitlab
  4. Installation des postes
  5. Pratique

Présentation théorique, concepts

Concept de Git


  • Système de contrôle de version décentralisé (DVCS)
  • Créé par Linus Torvalds (libre)
  • Permet de conserver un historique du code et de retourner à un état précédent
  • Dépôt décentralisé (mode déconnecté)
  • Rapide et efficace

Concept de Git


  • Facilite le travail à plusieurs sur le même projet
  • Sauvegarde du code
  • Permet de gérer plusieurs versions de codes en même temps (branches)
  • De nombreuses fonctions avancées
  • Alternatives : CVS, SVN, Mercurial, Bazaar

Concept de Git


Sur le poste de travail


Les arbres


Les arbres (2)


Représentations de l'arbre

Les commits et les branches

Travail en équipe


Initiation aux commande

La ligne de commande

git add git bisect git branch git checkout git clone git commit git diff git fetch git grep git init git log git merge git mv git pull git push git rebase git reset git rm git show git status git tag

Commandes essentielles

Initialisation du poste

Setup du nom et de l'adresse mail

git config --global user.name "Antoine MORIT"
git config --global user.email "amorit@team-dsi.fr"

Setup des fins de lignes

git config --global core.autocrlf true
git config --global core.safecrlf true

En local

Mon premier dépôt (repository) v1

git init

$ mkdir essai
$ cd essai
$ git init
Initialized empty Git repository in /Users/antoine/Bureau/essai/.git/

Ajouter et Valider

Récupérer

A distance

Mon premier dépôt (repository) v2

Clôner un dépôt existant

Connecter un dépôt distant

Envoyer vos changements

Récupérer les changements des autres

Workflow standard

  • J'ai fait plusieurs commits. La fonctionnalité sur laquelle je travaille est terminée (partage, mise en production)
    • Je fait donc un git pull (pour ajuster mes sources),
    • puis git push pour stocker mon travail sur le serveur Git

Problèmes possibles ?

Un conflit !

Révision globale

Ouverture comptes et démo bitbucket

Installation des postes

Installation

Configuration (appairage) avec le serveur central Git

Appairage par clés SSH sur le serveur (pas besoin de renseigner un mot de passe à chaque requête sur le serveur)

  • Via Git Bash, créer une clé SSH :
    • ssh-keygen -t rsa -C "amorit@team-dsi.fr"
  • Copie de la clé publique générée (Dossier personnel/.ssh/id_rsa.pub) vers le fichier .ssh/authorized_keys sur le serveur Git (WinSCP, web)

Installation

Configuration (appairage) avec le serveur central Git

  • Intégration de la clé privée dans TortoiseGit, via Puttygen
    • Conversions => Import Key => id_rsa
    • Save private key dans .ssh/private_key.ppk
  • Test via Git bash :
    • ssh git@serveur-xxx.com
    • Si tout est OK, accès au serveur sans mot de passe

Installation

Initialisation du dépôt lié avec le serveur distant

  • Dans le repertoire dev, clic droit : Git Clone
    • URL : git@serveur-xxx.com:nom_depot.git
    • Load Putty Key : private_key.ppk

Astuces

Le fichier .gitignore

# DW Dreamweaver added files
_notes/
dwsync.xml

Quelques liens

Pratique