Windowsでmsysgitを使用してGitのディレクトリまたはフォルダを無視するにはどうすればよいですか?
プロジェクトのディレクトリに.gitignore
という名前のファイルを作成します。ファイルにディレクトリ名を入力してディレクトリを無視します(スラッシュを追加します)。
dir_to_ignore/
より多くの情報 ここ 。
デフォルトでは、ファイル名が実際には.gitignore
の場合、Windowsエクスプローラは.gitignore.txt
を表示します。
Gitは.gitignore.txt
を使いません
そしてExplorerはそのファイルをgitignoreという名前のファイルであるとみなしているので、ファイル名を.gitignore
に変更することはできません。
非コマンドラインソリューション:
ファイル名を変更することができます 「。gitignore。」 そしてそれは作成されます ".gitignore"
ファイルとディレクトリを無視するには、主に2つの方法があります。
.gitignore
.gitignore
フォルダのほかに.git
ファイルをリポジトリのルートに配置する(Windowsでは、必ず 実際のファイル拡張子を参照 を確認してから.gitignore.
を作成してください(最後に空のファイル拡張子を付けます)。~/.gitignore_global
にしてgit config --global core.excludesfile ~/.gitignore_global
を実行してこれをgit設定に追加します注意:以前に追跡されたファイルはgit rm --cached filename
を実行することで追跡されない可能性があります。
レポ除外 - 共有する必要がないローカルファイルの場合は、ファイルパターンまたはディレクトリをファイル.git/info/exclude
に追加するだけです。これらのルールはコミットされていないので、 他のユーザーには見られません more info here
[更新]無視されたファイルのリストで例外を作るには、 この質問 を見てください。
Windowsエクスプローラでファイルを作成する際に問題が発生しました。初めに。
回避策はコマンドシェルに入り、 "edit"を使って新しいファイルを作成することでした。
特定のファイルやフォルダを無視するようにGITに指示するには、.gitignore
ファイルを作成する必要があります。
しかし、Windowsエクスプローラではファイル名を指定する必要があります。拡張子だけのファイルを作成することはできません。空のテキストファイルを作成して[プロンプト]コマンドに進み、ファイル名を.gitignore
に変更します
ren "New Text Document.txt" .gitignore
今すぐあなたの好きなテキストエディタでファイルを開き、あなたが無視したいファイル/フォルダ名を追加してください。このようなワイルドカードを使うこともできます*.txt
それがあなたの質問に答えることを願っています
フォルダ内のファイルではなくフォルダを維持したい場合は、 "*"を内容として "。gitignore"ファイルをそのフォルダに入れるだけです。このファイルはリポジトリからすべてのコンテンツを無視します。しかし.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
Windowsでは、スラッシュを追加する必要があります。 .gitignore にある単一のディレクトリを除く
dir_to_exclude /
おそらく動作するでしょうが、ですべてのディレクトリを除外する
/
ディレクトリにスペースを含むファイル名(my file.txt
など)があると問題が発生します。Git bashはこれらのスペースをバックスラッシュ(my\ file.txt
など)でエスケープします。Gitfor Windowsは/
と\
を区別しません。
すべてのディレクトリを除外するには、次のようにします。
** /
2つの連続したアスタリスクはディレクトリの内容を表します。
\.git\info
projectsディレクトリにも、事実上.gitignore
と同じものであるexcludeファイルがあります(私は思います)。その中で無視するファイルとディレクトリを追加することができます。
Gitでディレクトリ全体を無視するには、最も簡単な方法は、単に "*"を含むターゲットディレクトリ内に.gitignoreファイルを含めることです。
実例
システム例
/root/
.gitignore
/dirA/
someFile1.txt
someFile2.txt
/dirB/
.gitignore
someFile3.txt
someFile4.txt
目標
トップレベルの.gitignore(/root/.gitignore)
無視されるディレクトリ.gitignore(/root/dirB.gitignore)
それはとても簡単です:)
以下の内容で ".gitignore"ファイルを作成できます。
*
!.gitignore
それは私と簡単に動作します。
私はいくつかの問題を抱えていましたWindows上でgitignoreファイルをピックアップするためにgitを取得しています。 $ GIT_DIR/info/excludeファイルはいつもうまくいくようです。ただし、このアプローチの欠点は、$ GIT_DIRディレクトリ内のファイルがチェックインに含まれず、したがって共有されないことです。
(p.s. $ GIT_DIRは通常.gitという名前の隠しフォルダです)
それ以外のすべてが失敗する ファイルを編集してみてください
/.git/info/exclude
次のようにして、ファイルの末尾に必要なディレクトリを追加します。
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
assets/
compiled/
無視するファイルとディレクトリのリストにフォルダ "assets"と "compile"を追加しました。
念のため、サブフォルダを除外する必要がある場合は、ワイルドカード**
を使用して、任意のレベルのサブディレクトリを除外できます。
**/build/output/Debug/
私の問題はあなたの作業ツリーが以下のようであることだと思います。
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/
... if 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
もコミットしたいのですが、私はこのテストケースに怠けていました。)
UNIXの場合
touch .gitignore
Windowsの場合
echo > .gitignore
端末でこれらのコマンドを実行すると、現在の場所に.gitignore
ファイルが作成されます。
次に、このメモの.gitignore
ファイルに情報を追加します(たとえばNotepad ++を使用)。どのファイルまたはフォルダを無視するかを指定します。変更を保存してください。それでおしまい :)
より多くの情報: https://www.atlassian.com/git/tutorials/saving-changes/gitignore
WindowsとMacでは、カレントディレクトリのFlower_Data_Folderという名前のフォルダを無視したい場合は、次のようにします。
echo Flower_Data_Folder >> .gitignore
Data.txtという名前のファイルの場合
echo data.txt >> .gitignore
そのパスが "Data/passwords.txt"のような場合
echo "Data/passwords.txt" >> .gitignore。
私は同様の問題を抱えていた、私はLinuxの人たちとの共有レポジトリでwindowsツールチェーンに取り組んでいて、彼らは喜んで与えられたフォルダーに同じ[大文字と小文字を除いて]名前でファイルを作成します。
その効果は、私がリポジトリをクローンすることができて、そして私がチェックインした場合に大混乱を引き起こすであろう「修正された」ファイルをすぐに持っているということです。
私はウィンドウを大文字と小文字を区別するように設定し、大文字と小文字を無視しないようにGITを持っていますが、それはまだ失敗します(Win32 APIの呼び出しで明らかに)。
ファイルをgitignoreする場合は、.gitignoreファイルを追跡しないことを忘れないでください。
しかし、私はここで良い答えを見つけました http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html
クリス