gitで$ HOMEを追跡する方法


10

$ HOMEディレクトリをgitで追跡したいと思います。他のサブディレクトリ($ HOME / projects / repo_1など)に他の多くのgitリポジトリがありますが、すでに追跡されているため、追跡する必要はありません。

私はgit-home-historyを見つけましたが、アーカイブから、プロジェクトがもはや積極的に開発されていないようです。

どのようなアプローチをお勧めしますか?Ghhは十分成熟していますか?

私はMacを使用していますが、クロスプラットフォームソリューションにも興味があります。

ありがとう

ps:調べましたが、重複は見つかりませんでした。これについてすでに議論されている場合は、指摘してください。

回答:


5

私はしばらくこれをgitを使用してやっています。私はホームディレクトリ全体を追跡するのではなく、積極的に変更している部分だけを追跡します。これには、たくさんの小さなスクリプトを含む私のhome / binディレクトリ、私の.vimディレクトリ、および他のディレクトリにあるいくつかの大きなプロジェクトが含まれます。また、ターミナルとopenboxの設定、およびその他のさまざまなアプリがリポジトリに追加されています。

これはすべてが同じ権限セットを持っているので十分に機能し、元のタイムスタンプは気にしません。そのうちのいくつかをを使用してサブモジュールに分割する予定ですgit filter-branch。異なるサブディレクトリにあるファイル間に相互依存関係があるため、これは少しトリッキーです(たとえば、一部の.vimスクリプトは私のbinディレクトリからスクリプトを呼び出すことがあります...あまり良い例ではありませんが、うまくいけばポイントがわかります)。

私はこれ以上包括的なソリューションを見つけていませんが、git-home-historyを含め、実際には何も調べていません。ホームディレクトリ全体をリビジョン管理下に置くのはかなり複雑になり、多くの変数が存在するようです。たとえば、Firefoxプロファイルをリビジョン管理下に置くと、膨大な量のバイナリ差分が蓄積されます。また、sshキーのようなものは、複製よりも紛失の方が多い場合があります。

アクセス許可を追跡したい場合(gitが既に追跡している実行可能ビット以外)、明らかにそれを行うフックがあります。これはこのserverfaultスレッドで言及されています


あなたは私のユースケースを理解しました。実際、私はバージョン管理スクリプトと構成に興味があります。私はこの基本的なアプローチで行きます。
フランチェスコ

参考:最近私が遭遇している問題は、新しいコンポーネントで作業するときに.vimディレクトリを分岐したくないことです。さまざまなアプローチを検討しています。おそらくを使用してそれを個別のモジュールに分割しfilter-branch、〜のサブディレクトリにその「作業中」のクローンを設定します。これは一般的に有用な戦略のようです。ホームディレクトリリポジトリ全体を複製し、$ HOMEを複製ディレクトリに設定した後でスクリプトをテストすることも同様に役立つと思います。その環境変数がどれほど普遍的に尊重されているかはわかりませんが、わかります。
直感

0

ホームディレクトリでgitを使用してから、作業する外部gitプロジェクトにgitサブモジュールまたはrevise-treeを使用できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.