# Git/Linux

* Principes
* Apprendre à travailler avec Git
** Avant de commencer : installation et configuration de Git
** Création de votre dépôt local
** Visualiser le contenu de votre dépôt local
** Premiers pas
** Gestion des branches
** Synchroniser le dépôt local avec le dépôt distant
* Fonctionnalités avancées
** Étiquetage (tags)
** Remise (stash)
** Recombinaison (rebase)
** Sous-modules et Super-projets
** Structure interne
** Pull-request
* Recettes
** Exclure des fichiers du dépôt
** Écrire des messages de commit
* Environnement
** Intégration dans les IDEs
** Améliorer sa productivité en configurant Git
** Git sous Linux
** Git sous Windows
** Forges
*** GitLab
*** GitHub
*** Bitbucket
* Git et Subversion (svn)
** Passer de Subversion à Git
** Travailler avec Git local et un dépôt Subversion distant
** Participer au développement de Wikimédia (Gerrit)
* Problèmes connus
* Ressources externes
* Principes
* Apprendre à travailler avec Git
** Avant de commencer : installation et configuration de Git
** Création de votre dépôt local
** Visualiser le contenu de votre dépôt local
** Premiers pas
** Gestion des branches
** Synchroniser le dépôt local avec le dépôt distant
* Fonctionnalités avancées
** Étiquetage (tags)
** Remise (stash)
** Recombinaison (rebase)
** Sous-modules et Super-projets
** Structure interne
** Pull-request
* Recettes
** Exclure des fichiers du dépôt
** Écrire des messages de commit
* Environnement
** Intégration dans les IDEs
** Améliorer sa productivité en configurant Git
** Git sous Linux
** Git sous Windows
** Forges
*** GitLab
*** GitHub
*** Bitbucket
* Git et Subversion (svn)
** Passer de Subversion à Git
** Travailler avec Git local et un dépôt Subversion distant
** Participer au développement de Wikimédia (Gerrit)
* Problèmes connus
* Ressources externes
[ Modifier le sommaire ]
Nous allons maintenant voir comment, lorsque vous travaillez sous Linux, vous pouvez travailler au mieux avec Git et augmenter votre productivité.

## Installer un prompt git

Si vous travaillez sur un projet plusieurs heures d'affilée, vous avez probablement une console qui reste ouverte en permanence pour commiter régulièrement. Autant éviter de taper « git » à chaque fois, et de passer son temps à faire des « git branch » pour savoir sur quelle branche on travaille.
Pour gagner du temps, vous pouvez installer un prompt git, et pour commencer à travailler, taper
Cela nous ouvre un prompt git. Désormais, l'invite de commande vous indique le répertoire dans lequel vous vous trouvez mais aussi la branche courante. Toutes les commandes sont automatiquement préfixées par "git", vous pouvez taper directement la commande git à appliquer.
Ctrl+D vous permet de quitter le prompt à tout moment.
Ce shell intègre également beaucoup de raccourcis, consulter git sh --help pour avoir la liste. Quelques exemples :
Si vous tapez dans commande système telles que rm (pour supprimer un fichier) ou reset (pour purger l'affichage dans le terminal), ce sera git rm et git reset qui seront appelées ! Ce n'est pas ce que vous voulez.

## Configurer plusieurs comptes vers la même forge

Par exemple pour utiliser un compte Git personnel et un professionnel sur GitLab sur le même PC, cela comporte deux étapes :
* Générer et ajouter les clés SSH sur https://gitlab.com/-/profile/keys (pas rsa car incompatible)
* Ajouter le mapping des clés avec les dépôts avec vim ~/.ssh/config

## Configurer un repo sur plusieurs forges

Sauvegarder la configuration de la forge actuelle, puis créer un fichier config pour la deuxième :
Dans l'éditeur de texte, changer uniquement l'URL ligne :
Ensuite il suffit d'écraser .git/config avec config-gitlab ou config-github selon les besoins.

## Références

* ↑ https://medium.com/uncaught-exception/setting-up-multiple-gitlab-accounts-82b70e88c437