~をソース管理下に置くヒント

~をソース管理下に置くヒント

他のコンピュータに必要な設定ファイル(.gitconfig、.gitignore、.emacsなど)が多いので、ホームディレクトリ(〜)をソース管理(この場合はgit)に置きたいと思います。 Gitに入れると簡単に検索できます。

私のホストコンピュータはMacBookで、OS Xの設定方法で無視したいフォルダ(ドキュメント、ダウンロード、.ssh)がたくさんあります。すでにGit(.emacs.d)を使用しているフォルダもあります。

私の考えは、これらのすべてのディレクトリを私の.gitignoreファイルに追加することでしたが、これは少し迷惑に思え、予期しない結果につながる可能性があります。次のアイデアは、保存したいファイルを定期的にホームディレクトリの一部のフォルダにコピーし、そのフォルダをコミットすることでした。これの問題は、コミットする前にそれらを移動しなければならないことを覚えておくべきです。

これを行うきれいな方法はありますか?

ベストアンサー1

gitの下にあります$HOME。私の.gitignoreファイルの最初の行は次のとおりです。

/*

残りは修飾語を使用しても無視できないパターンです!。最初の行は、私のホームディレクトリのすべてのファイルがデフォルトで無視されることを意味します。バージョン管理するファイルは.gitignore次のとおりです。

!/.gitignore
!/.profile
[...]

私のよりトリッキーなパターンの1つは次のとおりです。

!/.ssh
/.ssh/*
!/.ssh/config

つまり、私はバージョン管理したいだけです.ssh/config。 .sshのキーと他のファイルがgitに入ることを望まないこれが私がこれを達成した方法です。

編集:すべてのパスの先頭にスラッシュを追加しました。これにより、どこにでもないストアの上部($ HOME)で無視パターンが一致します。たとえば、!lib/パターンがあり(libディレクトリのすべてのエントリを無視しない)、ファイルを追加すると、前の.gitignoreパターン(!.gitignore)がそのパターンと一致します。前にスラッシュ(!/.gitignore)を使用すると、.gitignore私のホームディレクトリでのみ一致し、サブディレクトリでは一致しません。

これが私の無視リストに実際に影響を与えるケースを見たことはありませんが、技術的にはより正確なようです。

おすすめ記事