gestionnaire de révisions**. Contrairement à certains outils centralisés du même type comme svn, Git e... che de gestion des révisions est appelée **versioning** en anglais.
Git est capable de suivre les mod... ns apportées à tous types de fichiers (textes ou binaires) que l'on désigne par sources du projet. Une... gestion de révision puisse être utilisé à son plein potentiel (et pas comme un simple outil de sauveg
{{tag>dev git index commit}}
====== Gestion de la zone d'index git ======
Un commit est un instantané de la zone d'index ou zone d'assemblage (staging area). La zone d'index est hors du répertoir
===
Pour lister la configuration actuellement définie:
<code bash>
git config --list
</code>
===== Portée des définitions =====
Les déclarations des variables de co... /etc/git/config |
^ %%--global%% | Variables définies pour tous les projet de l'utilisateur ~/.gitconfig |
^ %%--local%% | Variables définies sur le projet courant .git/config |
===== Par
sion ou **CVS**((Control Revision System)), son principal objectif est de conserver l'historique des m... De savoir qui à contribuer à quoi ;
* De déterminer où des bugs ont été introduits ;
* D' annuler des modifications problématiques etc.
La principale commande permettant de consulter l'historiq
on des branches avec git ======
Le HEAD est le pointeur sur le dernier commit de la branche courante.... er les branches fusionnées
# avec la branche 'testing'
git branch --merged testing
# Lister toutes les branches
git branch --all
</code>
===== Créer une... ster du serveur en amont est référencée par **origin/master**. La branche master locale est automatiqu
de **git diff** permet d'afficher les différences introduites:
* entre deux commits,
* entre l'esp... c.
Utilisée sans argument, la commande compare l'index (zone d'assemblage pour le prochain commit) et le répertoire de travail. Si une divergence apparaî... affiche:
<code bash>
$ git diff
diff --git a/src/init.c b/src/init.c
index 2f8dbac..89e990d 100644
--
ation de la commande suivante:
<code bash>
$ git init --bare mon-projet.git
</code>
===== Clonage ==... le ssh pour cloner le dépot du serveur sur la machine de dev.
<code bash>
$ git clone user@server:port/path/to/repo
</code>
===== Import initial =====
Configurer les préférences git sur la machine de dev (nom utilisateur, signature). Créer le sq
est un gestionnaire de révision **distribué**. Il intègre donc des mécanismes de synchronisation entre... e version du même projet disponible sur le réseau/Internet. Collaborer avec d'autre personne consiste ... référence vers celui-ci c'est la référence **origin**.
<code bash>
$ git clone ssh://user@host:port/... code>
<note>
Par convention on désigne par **origin** un dépôt vers lequel on publie ses propres chan
ctement des modifications sur la branche master/main. En général:
* On crée une branche de développe... e, on fusionne sur la branche master.
Par erreur/inattention on modifie parfois les fichiers du working directory alors que l'on se trouve encore sur mas... ns sur cette branche.
<code bash>
# git branch m'indique que je suis bien sur master
$ git branch
primer blob commit}}
====== Git : Déplacer le pointeur HEAD ======
<note warning>
La réécriture d’historique ne doit être faite que sur un dépôt local.
</note>
Pour déplacer le pointeur HEAD sur un commit identifié par son SHA (pou... et --hard 0cb5c64
</code>
Le blob précédemment pointé par le HEAD n'est alors plus référencé mais il
ses modifications, puis une fois son travail terminé et ordonné sur son instance locale, il peut pousser (commande **push**) les nouvelles révisions sur ... tirant (commande **pull**) vont rapatrier su leur instance locale les nouvelles révisions.
====== Initialisation du dépôt ======
Sur la machine serveur
7a2 (HEAD -> master) Promtail: Configuration pipeline
* c7ab08b Définition/réservation du réseau interne pour les services
* 7cb9cee Ajout du service promtail
* c3d4ada Aj... se la commande git rebase avec l'option -i ou %%--interactive%%)
<code bash>
git rebase -i HEAD~3
</co
{{tag>dev git fichier binaire binary file}}
:TODO_DOCUPDATE:
====== Git : Gérer les révisions de fichiers binaires ======
Pensé avant tout pour gérer les fich... ), Git peut également être utilisé pour le versioning de fichiers binaires.
Via le fichier **.gitattr
alias sous git ======
Les alias permettent de définir de nouvelles commandes git à partir de commande... r un alias =====
Dans l'exemple ci-dessous on définit un alias en modifiant la configuration globale ... obal alias.st "status -s"
</code>
Après cette définition, invoquer **git st** appellera la commande **git status -s**.
Pour qu'un alias lance un exécuta
=====
Confère le wiki [[dev:git:configuration#definir_la_cle_gpg_pour_signature_du_travail | configur... option de portée **%%--global%%** permet de le définir pour tous les dépôts de l’utilisateur courant:
... git tag -v alpha-0.3
</code>
===== Afficher les informations de signature =====
Par défaut les informations de signature ne sont pas systématiquement a