Cela fait un moment que j'utilise git. Je ne surveille pas l'intégralité du répertoire personnel, seulement les parties que je modifie activement. Cela inclut mon répertoire home / bin, qui contient de nombreux petits scripts, mon répertoire .vim et quelques projets plus importants dans d'autres répertoires. Il existe également des configurations pour les terminaux et openbox, ainsi que diverses autres applications, ajoutées au dépôt.
Cela fonctionne assez bien car tous ces trucs ont le même jeu d'autorisations et je ne me soucie pas de l'horodatage d'origine. Il en est au point où je prévois d'en décomposer une partie en sous-modules en utilisant git filter-branch
. C'est un peu délicat cependant car il existe des interdépendances entre les fichiers dans différents sous-répertoires (par exemple, certains scripts .vim peuvent appeler des scripts à partir de mon répertoire bin ... pas un très bon exemple mais j'espère que vous obtenez le point).
Je n'ai pas trouvé de solutions plus complètes, mais je n'en ai pas vraiment examiné non plus, y compris git-home-history. Il semble que ce serait assez compliqué de mettre tout le répertoire personnel sous contrôle de révision, et il y aurait beaucoup de variables. Par exemple, si vous mettez vos profils firefox sous contrôle de révision, vous allez finir par accumuler d'énormes quantités de différentiels binaires. Il y a aussi des choses comme les clés ssh qui sont souvent mieux perdues que dupliquées.
Si vous voulez suivre les autorisations (autres que le bit exécutable, que git suit déjà), il y a apparemment un hook qui le fera. Il est mentionné dans ce fil de défaut de serveur .
filter-branch
et en installant un clone 'work in progress' de celui-ci dans un sous-répertoire de ~. Cela semble être une stratégie généralement utile: je m'attends à ce qu'il soit également utile de cloner l'intégralité de mon référentiel de répertoires personnels, puis de tester les scripts après avoir défini $ HOME dans le répertoire clone. Je ne sais pas à quel point cette variable d'environnement est universellement respectée, mais je verrai.Vous pouvez utiliser git sur votre répertoire personnel, puis utiliser les sous-modules git ou revise-tree pour les projets git externes sur lesquels vous travaillez.
la source