Résumé
-
La gestion des fichiers dot avec git peut gagner du temps et fournir une option de sauvegarde robuste.
-
Le stockage de fichiers dot dans un système de contrôle de version (VCS) comme git peut garantir une configuration cohérente sur plusieurs machines.
-
L'utilisation de GitHub pour héberger des fichiers dotfile permet un partage et une collaboration faciles.
Les Dotfiles sont un moyen accessible et puissant de configurer votre système Linux. Mais comment les suivre tous et les réutiliser si nécessaire ? Essayez git.
Que sont les Dotfiles ?
Sous Linux, tout fichier dont le nom commence par un « . » est un fichier caché. Par défaut, il ne s'affichera pas dans votre gestionnaire de fichiers ni dans une liste de fichiers sur la ligne de commande.
Certains programmes Linux utilisent des fichiers cachés pour la configuration, les déposant souvent dans votre répertoire personnel. Il s'agit d'une configuration utile car elle maintient la configuration à l'écart tout en garantissant qu'elle reste accessible. Étant donné que cette configuration se trouve dans des fichiers texte brut, elle est facile à lire et à modifier. Vous pouvez également utiliser l'ensemble d'outils de ligne de commande Linux pour travailler avec la configuration de votre système.
Des exemples courants de fichiers dot incluent :
-
.bashrc, .zshrc
-
.exrc
-
.gitconfig
-
.npmrc
Comment Git ou GitHub peuvent-ils vous aider ?
Les Dotfiles sont excellents, mais ils sont spécifiques au système. Lorsque vous devez remplacer votre ordinateur, utiliser un périphérique secondaire ou accéder à un serveur distant, vous pourriez vous retrouver à tout reconfigurer.
Stocker vos fichiers dot dans un VCS (Version Control System) peut vous aider à éviter cette tâche répétitive, vous permettant de réutiliser instantanément votre configuration sur une autre machine. Consultez simplement votre référentiel et vous obtiendrez les mêmes alias de shell, les mêmes thèmes familiers et un comportement cohérent.
De plus, le stockage des fichiers dot dans git est une option de sauvegarde robuste. Vous pouvez même inspecter l'historique de votre référentiel pour découvrir quand et pourquoi vous avez modifié une configuration spécifique. Dans un environnement collaboratif, vous pouvez même partager vos fichiers dot via git pour garantir que tous les membres de l'équipe disposent d'un environnement cohérent.
À cet effet, GitHub est la crème de la crème. Si vous disposez d'un autre endroit pour héberger votre référentiel git, vous pouvez certainement le faire, mais GitHub rend les choses beaucoup plus faciles.
La meilleure façon de gérer vos fichiers Dotfile avec Git et GitHub
Tout d’abord, comprenez que toute forme de stockage de vos fichiers dot dans git sera une victoire majeure. Il existe des détails spécifiques sur la meilleure façon de procéder, mais si vous pouvez stocker un fichier dans git, le mettre à jour et l'extraire, vous bénéficierez de manière significative de la gestion de vos fichiers dot de cette façon.
Cependant, l’approche suivante est largement recommandée en ligne et fonctionne pour moi. Cette configuration particulière devrait vous aider à tout synchroniser avec le moins d’effort possible.
Mettre en place un référentiel nu et des échafaudages
Étant donné que votre répertoire personnel contient probablement beaucoup de choses dont vous ne voulez pas dans votre référentiel dotfiles, il est préférable d'éviter une configuration standard. Au lieu de cela, vous pouvez gérer vos fichiers dot dans un référentiel nu.
Un référentiel nu est comme un référentiel normal sans les fichiers de projet réels. Il contient toutes les métadonnées git qui décrivent l'historique de ces fichiers, mais il ne contient tout simplement pas les fichiers eux-mêmes. Les fichiers peuvent résider ailleurs, dans votre répertoire de travail, vous utiliserez simplement le référentiel nu pour les contrôler en version.
Commencez par créer un dépôt nu dans un nouvel emplacement, par exemple :
mkdir $HOME/.dotfiles
git init --bare $HOME/.dotfiles
Lorsque vous travaillez avec ce référentiel, vous devrez fournir un répertoire de travail (pour les fichiers) et un répertoire git (pour le référentiel lui-même) :
git --work-tree=$HOME --git-dir=$HOME/.dotfiles ...
Plutôt que de taper ceci à chaque fois que vous utilisez git, il est logique de créer un alias. Vous pouvez également fournir le chemin d'accès au référentiel nu lui-même afin de pouvoir l'utiliser à partir de n'importe quel répertoire :
alias dotfiles="/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME"
Stockez vos fichiers Dot
Commencez par identifier un fichier dot dont vous souhaitez contrôler la version.
Vous pouvez ensuite exécuter ces commandes pour démarrer la version contrôlant votre fichier .bashrc, par exemple :
cd $HOME
dotfiles add .bashrc
dotfiles commit -m "Bash run control file"
En plus d'utiliser l'alias dotfiles au lieu de la simple commande git, vous pouvez utiliser git pour suivre ces fichiers comme vous le feriez normalement. Cette approche est en fait légèrement plus simple car vous pouvez exécuter une commande telle que « dotfiles log » à partir de n'importe quel répertoire.
Téléchargez votre référentiel sur GitHub
Vous trouverez peut-être pratique d'héberger votre référentiel sur un fournisseur comme GitHub. Cela peut faciliter le partage de l'accès à vos fichiers dot, en particulier à partir de machines situées sur un réseau différent. C'est facile à faire, même avec un dépôt existant :
-
Commencez par le Page Créer un nouveau référentiel.
-
Entrez un nom de référentiel.
-
Choisissez un référentiel public ou privé ; Le privé est probablement le meilleur (voir ci-dessous).
-
Cliquez sur Créer un référentiel.
À ce stade, un écran avec des instructions de configuration s'affichera. Pour pousser votre dépôt existant, exécutez simplement ces deux commandes :
dotfiles remote add origin https://github.com//.git
dotfiles push -u origin main
Où est votre nom d'utilisateur GitHub et est le nom que vous avez choisi pour votre référentiel.
Soyez très prudent lorsque vous téléchargez votre dépôt sur GitHub : vos fichiers dotfiles peuvent contenir des données sensibles. Idéalement, vous devriez éviter de transmettre des fichiers contenant des mots de passe à un référentiel. Si vous ne pouvez pas l'éviter, envisagez au moins d'utiliser un référentiel GitHub privé ; vous devrez cependant payer pour cela.
Utiliser sur un autre système
Pour partager vos fichiers dot sur une autre machine, vous devrez répéter les processus ci-dessus et consulter le référentiel nu. Cela signifie notamment qu’il y a deux étapes importantes. Tout d’abord, consultez une copie brute de votre référentiel :
cd $HOME
git clone --bare https://github.com//.git
Cela sera généralement extrait dans un répertoire nommé .git. Une fois extrait, vous êtes libre de le renommer.
Recréez l'alias git wrapper que vous utilisez :
alias dotfiles="/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME"
Vous pouvez maintenant remplir votre répertoire de travail (votre HOME) avec vos fichiers dot dont la version est contrôlée :
dotfiles checkout
À ce stade, vous pouvez voir une erreur concernant l'écrasement des fichiers d'arborescence de travail. En effet, vous disposez probablement déjà de fichiers dot anciens ou par défaut tels que .bashrc. Supprimez ou déplacez-les simplement, puis répétez la commande.
Le contrôle de version de vos fichiers dot vous évitera bien des tracas lorsque vous mettrez à niveau ou changerez de système. Vous pourrez également consulter un historique complet et voir quand vous avez modifié quoi et pourquoi.
Vous pouvez lire l’article original (en Angais) sur le sitewww.howtogeek.com