Configurer git #

Aperçu #

Vos configurations git personnelles sont enregistrées dans le .gitconfigfichier de votre répertoire personnel.

Voici un exemple .gitconfigde fichier :

[user]
        name = Your Name
        email = [email protected]

[alias]
        ci = commit -a
        co = checkout
        st = status
        stat = status
        br = branch
        wdiff = diff --color-words

[core]
        editor = vim

[merge]
        summary = true

Vous pouvez vérifier ce qui est déjà dans votre fichier de configuration en utilisant la commande. Vous pouvez éditer le fichier directement ou vous pouvez utiliser la commande. :git config --list.gitconfiggit config --global

git config --global user.name "Your Name"
git config --global user.email [email protected]
git config --global alias.ci "commit -a"
git config --global alias.co checkout
git config --global alias.st "status -a"
git config --global alias.stat "status -a"
git config --global alias.br branch
git config --global alias.wdiff "diff --color-words"
git config --global core.editor vim
git config --global merge.summary true

Pour configurer sur un autre ordinateur, vous pouvez copier votre ~/.gitconfigfichier ou exécuter les commandes ci-dessus.

En détail #

user.name et user.email #

C'est une bonne pratique de dire à git qui vous êtes, pour étiqueter toutes les modifications que vous apportez au code. La façon la plus simple de le faire est à partir de la ligne de commande :

git config --global user.name "Your Name"
git config --global user.email [email protected]

Cela écrira les paramètres dans votre fichier de configuration git, qui devrait maintenant contenir une section utilisateur avec votre nom et votre adresse e-mail :

[user]
      name = Your Name
      email = [email protected]

Vous devrez remplacer et par votre nom et votre adresse e-mail réels.Your Nameyou@yourdomain.example.com

Alias ​​#

Vous pourriez bien bénéficier de certains alias vers des commandes courantes.

Par exemple, vous voudrez peut-être pouvoir raccourcir en . Ou vous voudrez peut-être un alias (ce qui donne une sortie bien formatée du diff) àgit checkoutgit cogit diff --color-wordsgit wdiff

Les commandes suivantes :git config --global

git config --global alias.ci "commit -a"
git config --global alias.co checkout
git config --global alias.st "status -a"
git config --global alias.stat "status -a"
git config --global alias.br branch
git config --global alias.wdiff "diff --color-words"

créera une aliassection dans votre .gitconfigfichier avec un contenu comme celui-ci :

[alias]
        ci = commit -a
        co = checkout
        st = status -a
        stat = status -a
        br = branch
        wdiff = diff --color-words

Éditeur #

Vous pouvez également vous assurer que l'éditeur de votre choix est utilisé

git config --global core.editor vim

Fusion #

Pour appliquer les résumés lors des fusions ( ~/.gitconfigfichier à nouveau) :

[merge]
   log = true

Ou depuis la ligne de commande :

git config --global merge.log true

Sortie de journal de fantaisie #

C'est un très bon alias pour obtenir une sortie de journal sophistiquée ; il devrait aller dans la aliassection de votre .gitconfigfichier :

lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)[%an]%Creset' --abbrev-commit --date=relative

Vous utilisez l'alias avec :

git lg

et cela donne une sortie graphique / texte quelque chose comme ça (mais avec de la couleur!):

* 6d8e1ee - (HEAD, origin/my-fancy-feature, my-fancy-feature) NF - a fancy file (45 minutes ago) [Matthew Brett]
*   d304a73 - (origin/placeholder, placeholder) Merge pull request #48 from hhuuggoo/master (2 weeks ago) [Jonathan Terhorst]
|\
| * 4aff2a8 - fixed bug 35, and added a test in test_bugfixes (2 weeks ago) [Hugo]
|/
* a7ff2e5 - Added notes on discussion/proposal made during Data Array Summit. (2 weeks ago) [Corran Webster]
* 68f6752 - Initial implementation of AxisIndexer - uses 'index_by' which needs to be changed to a call on an Axes object - this is all very sketchy right now. (2 weeks ago) [Corr
*   376adbd - Merge pull request #46 from terhorst/master (2 weeks ago) [Jonathan Terhorst]
|\
| * b605216 - updated joshu example to current api (3 weeks ago) [Jonathan Terhorst]
| * 2e991e8 - add testing for outer ufunc (3 weeks ago) [Jonathan Terhorst]
| * 7beda5a - prevent axis from throwing an exception if testing equality with non-axis object (3 weeks ago) [Jonathan Terhorst]
| * 65af65e - convert unit testing code to assertions (3 weeks ago) [Jonathan Terhorst]
| *   956fbab - Merge remote-tracking branch 'upstream/master' (3 weeks ago) [Jonathan Terhorst]
| |\
| |/

Merci à Yury V. Zaytsev pour l'avoir posté.