22
0
Fork 0

relecture

This commit is contained in:
Benoît S. 2016-12-22 14:29:13 +01:00
parent e8aa5412cc
commit 944007886b
1 changed files with 12 additions and 12 deletions

View File

@ -232,7 +232,7 @@ Modifier son avant-dernier commit :
~~~{.bash}
$ git rebase -i HEAD^^
… remplacer "pick" par "edit" pour le commit à modifier
… remplacer « pick » par « edit » pour le commit à modifier
$ vi main.c
$ git add main.c
$ git commit --amend
@ -272,7 +272,7 @@ foo/bar*
<https://git-scm.com/docs/git-stash>
Cela permet d'avoir un buffer pour mettre "en pause" des modifications non commitées :
Cela permet d'avoir un buffer pour mettre « en pause » des modifications non commitées :
~~~{.bash}
…hack…hack…
@ -323,7 +323,7 @@ $ git diff HEAD~8 HEAD^^
$ git diff myfeature master
~~~
*Note* : si le 2ème commit est *HEAD* on peut ne pas le mentionner, `git diff HEAD^` montrera les modifications du dernier commit
*Note* : si le 2 commit est *HEAD* on peut ne pas le mentionner, `git diff HEAD^` montrera les modifications du dernier commit
Voir les modifications entre deux commits, mais uniquement pour un fichier *foo* :
@ -386,7 +386,7 @@ Pour avoir le dépôt tel qu'il était à un commit :
$ git checkout <SHA1 du commit>
~~~
Pour se remettre sur la version courrante :
Pour se remettre sur la version courante :
~~~{.bash}
$ git checkout master
@ -465,7 +465,7 @@ $ git add -p
Un merge consiste à créer un commit qui aura deux parents, et permet ainsi de fusionner deux branches existantes.
Quand un merge est très simple, c'est à dire que cela rajoute simplement des commits sur une branche qui n'a pas bougé entre temps, on n'a pas besoin de créer un commit pour fusionner, on appelle cela un merge **fast-forward**. Cela se fait automatiquement avec la commande `git merge`. Notons que l'on peut vouloir tout de même avoir un commit pour marquer le coup et forcer un commit de merge avec l'option `git merge --no-ff`.
Quand un merge est très simple, cest-à-dire que cela rajoute simplement des commits sur une branche qui n'a pas bougé entre temps, on n'a pas besoin de créer un commit pour fusionner, on appelle cela un merge **fast-forward**. Cela se fait automatiquement avec la commande `git merge`. Notons que l'on peut vouloir tout de même avoir un commit pour marquer le coup et forcer un commit de merge avec l'option `git merge --no-ff`.
Quand un merge n'est pas simple, Git peut adopter plusieurs stratégies (resolve, recursive, ours, theirs, patience, etc.). Il est probable que cela génère des conflits qui devront être résolus manuellement.
@ -511,7 +511,7 @@ Pour lister les dépôts distants configurés :
$ git remote
~~~
### Echanger des commits sous forme de patchs Git
### Échanger des commits sous forme de patchs Git
Pour transmettre ses 3 derniers commits, on peut générer 3 patches qui contiendront les diffs ainsi que les messages de commit :
@ -532,9 +532,9 @@ par exemple pour générer des emails de notification.
Voir dans le répertoire `.git/hooks/`.
### dépôt "bare"
### dépôt « bare »
Un dépôt classique possède un répertoire `.git/` qui contient toutes les données et meta-données, ainsi qu'une *working copy* de la branche courante.
Un dépôt classique possède un répertoire `.git/` qui contient toutes les données et méta-données, ainsi qu'une *working copy* de la branche courante.
Quand on crée un dépôt ayant vocation à servir de dépôt central, il est préférable de ne pas avoir de *working copy* : il s'agira alors d'un **bare repository** que l'on peut initier avec la commande :
@ -566,7 +566,7 @@ Les données brutes sont dans le répertoire `.git/objects/` qui contient
de nombreux fichiers : à chaque commit correspond un fichier nommé en fonction
de l'empreinte SHA1 du commit et contenant les données compressées.
Les données comprennent notamment la référence au(x) commit(s) *parent*
ce qui permet de d'avoir des liens entre les commits.
ce qui permet davoir des liens entre les commits.
Observons `.git/refs/` qui contient des pseudos-pointeurs (fichier texte d'une seule ligne contenant un SHA1 ou une autre référence) :
@ -584,7 +584,7 @@ Cet historique est notamment accessible avec la commande `git reflog`.
### Partager un dépôt avec plusieurs utilisateurs
Avec un dépôt *foo* existant, on autorisera les utilisateurs que si ils appartiennent au groupe *git* :
Avec un dépôt *foo* existant, on autorisera les utilisateurs que sils appartiennent au groupe *git* :
~~~
# cd foo
@ -597,7 +597,7 @@ Avec un dépôt *foo* existant, on autorisera les utilisateurs que si ils appart
### Importer un dépôt SVN dans GIT
Ce script permet de récupérer la liste des auteurs SVN, modifiez la comme voulu.
Ce script permet de récupérer la liste des auteurs SVN, modifiez-la comme voulu.
~~~{.bash}
#!/usr/bin/env bash
@ -684,7 +684,7 @@ remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
! [remote rejected] master -> master (branch is currently checked out)
~~~
Il faut ajouter dans la config du repository "distant" :
Il faut ajouter dans la config du repository « distant » :
~~~
[receive]