0

プラットフォーム: Windows 8.1

Emacs の構成を簡素化するために、Emacs の個人用フォルダーC:\Users\username\AppData\Roaming\.emacs.dを github にアップロードします。

通常、私は Emacs 24.3 を使用してinit.elファイルを編集します。その後、名前付きのコピーinit.el~が同じフォルダーの下に作成されます。の助けを借りて、末尾のスラッシュ ファイルに行を.gitignore追加します。*~git clean -fdx

問題は、自己完結型のファイルを所有するelpaようなパッケージです。このファイルには、保持したいファイルを削除するためのパターンが含まれている可能性があります。したがって、私のリポジトリの下にはいくつかのファイルがあります。1つは自分で作成します。他はパッケージ用です。AucTeX.gitignore*.elc.gitignoreelpa

しようとするとgit clean -fdx、リポジトリの下のファイルを削除することで、のファイルが有効にAucTeXなります。.gitignore*.elc

.gitignore自分が作成したのではないファイルを無効にするにはどうすればよいですか?

.gitignore他のEmacselpaパッケージに添付されたファイルを無効にする方法は?

4

1 に答える 1

0

git clean の引数について混乱していると思いますか? 引数は、ファイルの内容に注意を払わない-xように git clean に指示します (追跡されていないすべてのファイルが削除されるように)。AucTeXの.gitignore ファイルにリストされているため、ファイルは削除されません。それらは追跡されていないファイルであり、.gitignored ファイルを保護されたものとして扱わないように git に指示したため、削除されています.gitignore.elc

.elcファイル (移植可能)をコミットすると、git はそれらをクリーンアップしたくありません。

個人的には、いつもそうしています。コンパイルされていないコードで実行したくありません。また、すべてを不必要に再コンパイルする手間も必要ありません。移植性の問題が発生する可能性は非常に低く、問題が発生してライブラリを再コンパイルしたい場合は、既存の.elcファイルがあれば、どのファイルをコンパイルする必要があるかを Emacs に伝える方がはるかに簡単です。

https://github.com/tarsius/auto-compileをミックスに追加すると、.elcファイルは常に存在し、最新の状態になります。

それをしたくない場合は、-x引数なしで git clean を実行し、追加のパスでルート レベルの .gitignore からファイル パターンを処理する必要があると思います。または、--dry-run引数を使用して何を削除するかを示し、実際に保持したいファイルをフィルターで除外します (この場合、最初のパスを大文字なし-xで実行し、次に-X(大文字) を使用して 2 回目のパスを実行し、フィルターします)。

于 2014-11-17T08:55:32.397 に答える