1369

Windowsでmsysgitを使用してGitのディレクトリまたはフォルダを無視するにはどうすればよいですか?

4

19 に答える 19

1934

.gitignoreプロジェクトのディレクトリに名前の付いたファイルを作成します。ファイルにディレクトリ名を入力して(スラッシュを追加して)ディレクトリを無視します。

dir_to_ignore/

詳細については、こちらをご覧ください。

于 2008-12-05T12:54:10.407 に答える
225

デフォルトでは.gitignore、実際にファイル名が.gitignore.txt.

Gitは使用しません.gitignore.txt

また、ファイルの名前を に変更することはできません.gitignore。これは、Windows エクスプローラーが名前のないタイプ gitignore のファイルと見なすためです。

非コマンド ライン ソリューション:

ファイルの名前を「.gitignore」に変更できます。、そして「.gitignore」を作成します
于 2010-07-22T11:23:07.430 に答える
130

ファイルとディレクトリを無視するには、主に 2 つの方法があるようです。

  1. .gitignore

    • .gitignoreファイルをフォルダーのほかにリポジトリのルートに配置し.gitます (Windows では、実際のファイル拡張子が表示されていることを確認してから作成します(.gitignore.末尾に空のファイル拡張子を作成するポイントがあります)) 。
    • グローバル構成~/.gitignore_globalを作成して実行git config --global core.excludesfile ~/.gitignore_globalし、これを Git 構成に追加します

    注:以前に追跡されたファイルは、実行することで追跡を解除できますgit rm --cached filename

  2. リポジトリの除外- 共有する必要のないローカル ファイルの場合は、ファイル パターンまたはディレクトリをファイルに追加するだけです.git/info/exclude。これらのルールはコミットされていないため、他のユーザーには表示されません。詳細はこちら

無視されるファイルのリストで例外を作成するには、この質問を参照してください。

于 2012-05-01T10:30:33.807 に答える
46

特定のファイルまたはフォルダーを無視するように Git に指示するには、.gitignoreファイルを作成する必要があります。

ただし、Windows エクスプローラーでは、ファイルの名前を指定する必要があります。拡張子だけでファイルを作成することはできません。トリックは、空のテキスト ファイルを作成し、コマンド プロンプトに移動して、ファイルの名前を次のように変更することです.gitignore

ren "New Text Document.txt" .gitignore

お気に入りのテキスト エディターでファイルを開き、無視したいファイル/フォルダー名を追加します。次のようなワイルドカードも使用できます*.txt

于 2010-03-25T18:14:52.417 に答える
45

最初にが付いているWindowsエクスプローラーでファイルを作成する際にいくつかの問題が発生しました.

回避策は、コマンドシェルに入り、「編集」を使用して新しいファイルを作成することでした。

于 2008-12-05T13:50:55.100 に答える
29

フォルダ内のファイルではなくフォルダを維持したい場合は、「*」をコンテンツとしてフォルダに「.gitignore」ファイルを配置するだけです。このファイルにより、Gitはリポジトリのすべてのコンテンツを無視します。ただし.gitignore、リポジトリに含まれます。

$ git add path/to/folder/.gitignore

空のフォルダを追加すると、このメッセージが表示されます(.gitignoreは隠しファイルです)

The following paths are ignored by one of your .gitignore files:
path/to/folder/.gitignore
Use -f if you really want to add them.
fatal: no files added

したがって、「-f」を使用して強制的に追加します。

$ git add path/to/folder/.gitignore -f
于 2012-06-29T10:29:15.103 に答える
16

また、\.git\infoプロジェクトディレクトリには、実質的に同じものである除外ファイルがあります.gitignore(私は思う)。その中で無視するファイルとディレクトリを追加できます。

于 2011-02-10T10:12:00.060 に答える
8

Git が.gitignoreWindows でファイルを取得する際に問題が発生しました。ただし、$GIT_DIR/info/excludeファイルは常に機能しているようです。

ただし、このアプローチの欠点は、$GIT_DIRディレクトリ内のファイルがチェックインに含まれないため、共有されないことです。

ps $GIT_DIRは通常、名前が付けられた隠しフォルダーです。.git

于 2012-02-15T19:43:43.637 に答える
7

問題は、作業ツリーが次のようになっていることだと思います。

a-cache/foo
a-cache/index.html
b-cache/bar
b-cache/foo
b-cache/index.html
.gitignore

....gitignoreあなたが説明したもので。これにより、次git statusのような出力が得られます。

$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#    .gitignore
#    a-cache/
#    b-cache/

...ファイルがまだリポジトリに追加されていない場合。index.html(Git は、キャッシュ ディレクトリに無視されていないファイルがあることを認識しますが、ディレクトリのみを報告します。) これを修正するには、index.htmlファイルを追加してコミットしたことを確認します。

git add *cache/index.html
git commit -m "Adding index.html files to the cache directories"

...そしてあなたのgit status意志は次のようになります:

$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#    .gitignore
nothing added to commit but untracked files present (use "git add" to track)

(明らかに、あなたもコミットしたいのです.gitignore。私はこのテストケースで怠けていました。)

于 2012-06-29T10:11:02.440 に答える
2

同様の問題がありました。私は Linux の担当者と共有リポジトリを使用して Windows ツール チェーンに取り組んでいます。

その結果、レポジトリのクローンを作成し、すぐに多数の「変更された」ファイルを作成できます。これらのファイルは、チェックインすると大混乱を引き起こします。

Windows で大文字と小文字を区別するように設定し、Git で大文字と小文字を区別しないように設定していますが、それでも失敗します (明らかに Win32 API 呼び出しで)。

ファイルを gitignore する場合、.gitignore ファイルを追跡しないように注意する必要があります。

しかし、ここで良い答えを見つけました:

http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html

于 2012-08-06T15:01:49.960 に答える