8

構成ファイル ( ~/.bashrc~/.emacs~/emacsなど) を git に保存します。これを構成した方法は、ホーム ディレクトリに git リポジトリを追加するだけでした。

このアプローチにはいくつかの問題があることがわかりました。

  • git guiホームディレクトリ全体を再帰的にスキャンするため、永遠にかかります。
  • 新しいリポジトリに移動する必要があるファイルを構成リポジトリに誤って追加することがあります (新しいプロジェクトを作成し~/projects/foo、.構成リポジトリに追加されます)。git add bar.xyzfoo

すでに git リポジトリがあるディレクトリの下に git リポジトリをネストすることが賢明かどうかはわかりませんが、これに関して根本的な問題はまだ発生していません。

より良いアプローチはありますか、それともローカル構成ファイルを git に保存する標準的な方法ですか?

4

2 に答える 2

3

あなたと同じように、ドットファイルを Git リポジトリに保存しています。私のホーム ディレクトリは Git リポジトリです。

  • git gui: 私はめったに使用しないので、多くの追跡されていないファイルによってパフォーマンスがどのように影響を受けるかはよくわかりません。ただし、~/.gitignore単に含まれているファイルがあります*。おそらく、すべてを無視するとスピードアップgit guiします。

  • ~/.gitignore誤ってファイルを追加する:単純に含むファイルを作成する*と、新しいプロジェクト リポジトリを初期化するのを忘れたときに誤って dotfiles リポジトリにファイルを追加するという問題も解決されます (-f本当にファイルを追加する場合は、使用するように指示されます)。

  • ネストされたリポジトリで問題が発生したことはありません。

いくつかのメモ:

  • ~/.gitignoreに設定した主な理由は、ホーム ディレクトリ内のすべてのファイルが表示されない*ようにするためです。git status常に使用する必要git add -fがあり、少し面倒ですが、それほど大したことではありません.

  • git clean -dxの代わりに使う習慣をつけましょうgit clean -dxf。新しいプロジェクト リポジトリで実行することを覚えておく必要がありgit config clean.requireForce falseますが、ホーム ディレクトリにいると思われるディレクトリにいない場合に、ホーム ディレクトリ内のすべてのファイルを誤って削除することを防ぐことができます。

  • Git は、ファイルのアクセス許可をリセットすることを決定することがあります。chmod og-rwx機密ファイル ( ) を Git リポジトリに保持したい場合、これは良くない可能性があります。post-checkoutこれは、特定のファイルとディレクトリのアクセス許可を修正するフックを介して処理します (例: ~/.ssh/authorized_keys)。

于 2013-06-14T03:12:35.690 に答える