特定のファイルをグローバルに無視するようにGitを設定したい。
私が追加されました.gitignore
(私のホームディレクトリにファイルを/Users/me/
)、私はそれに次の行を追加しました:
*.tmproj
しかし、それはこのタイプのファイルを無視しているのではなく、私が何を間違っているのでしょうか?
特定のファイルをグローバルに無視するようにGitを設定したい。
私が追加されました.gitignore
(私のホームディレクトリにファイルを/Users/me/
)、私はそれに次の行を追加しました:
*.tmproj
しかし、それはこのタイプのファイルを無視しているのではなく、私が何を間違っているのでしょうか?
回答:
core.excludesfile
このグローバル無視ファイルを指すようにグローバル構成ファイルを設定する必要があります。
例えば
* nixまたはWindows git bash:
git config --global core.excludesfile '~/.gitignore'
Windows cmd:
git config --global core.excludesfile "%USERPROFILE%\.gitignore"
Windows PowerShell:
git config --global core.excludesfile "$Env:USERPROFILE\.gitignore"
Windowsの場合は、場所に設定しますC:\Users\{myusername}\.gitignore
。次のようにして、構成値が正しいことを確認できます。
git config --global core.excludesfile
結果は、ユーザープロファイルのへの展開されたパスになります.gitignore
。値に展開されていない%USERPROFILE%
文字列が含まれていないことを確認してください。
重要:上記のコマンドは、gitが使用する無視ファイルの場所のみを設定します。ファイルはその場所に手動で作成し、無視リストを入力する必要があります。(murugeのコメントから)
コマンドについては、https://help.github.com/articles/ignoring-files/#create-a-global-gitignoreを参照してください。
HEAD
またはインデックスにない限り、ファイルが一度追跡されたかどうかに関係なく、違いはありません。あなたはの出力を追加する場合には役立つかもしれないgit status
、git config core.excludesfile
あなたの質問に。
#
内部の行の先頭で使用して~/.gitignore
、グローバル無視ファイル内にコメントを追加できますか?
%USERPROFILE%
変数を使用してこれを機能させることができませんでした。* nixディレクトリー区切り文字を使用して、ファイルへの絶対パスを入力する必要がありました。例:core.excludesfile C:/Users/User/.gitignore
グローバル除外ファイルを再構成する前に、次のコマンドを使用して、現在の構成ファイルを確認することをお勧めします。
git config --get core.excludesfile
私の場合、実行すると、グローバル除外ファイルが次のように構成されていることがわかりました
〜/ .gitignore_globalそこにはすでにいくつかのものがリストされていました。したがって、与えられた質問の場合、最初に既存の除外ファイルを確認し、それに新しいファイルマスクを追加することは意味があるかもしれません。
他の答えは正しいですが、グローバル構成値を設定していますが、グローバルgit ignoreファイルにはデフォルトのgitロケーションがあります。
* nix:
~/.config/git/ignore
ウィンドウズ:
%USERPROFILE%\git\ignore
git
ディレクトリとignore
ファイルを作成する必要があるかもしれませんが、その場合はグローバル無視をそのファイルに入れることができます。
パターンを配置するファイルは、パターンの使用方法によって異なります。
…
- ユーザーがすべての状況でGitに無視させたいパターン(たとえば、選択したユーザーのエディターによって生成されたバックアップファイルや一時ファイル)は、通常
core.excludesFile
、ユーザーので指定されたファイルに入ります~/.gitconfig
。そのデフォルト値は$ XDG_CONFIG_HOME / git / ignoreです。$ XDG_CONFIG_HOMEが設定されていないか空の場合、代わりに$ HOME / .config / git / ignoreが使用されます。
git
コマンドを実行することでファイルが作成/変更されたと思います。各ユーザーのディレクトリにある設定ファイルなので、上書きしてはいけないと思います。
~/.config/git/ignore
ます。
ここから。
リポジトリに.gitignoreという名前のファイルを作成すると、gitはコミットするファイルを調べるときにそのルールを使用します。gitは、このファイルにルールを追加する前にすでに追跡されていたファイルを無視しないことに注意してください。このような場合、ファイルは通常は次のようにして追跡を解除する必要があります。
git rm --cached filename
それはあなたのケースですか?
core.excludesfile
ファイルとファイルの解釈が異なるよう.gitignore
です。ディレクトリ全体を無視したい場合は、.vscode/
代わりに次のようにディレクトリの名前を入力します.vscode/*
touch ~/.gitignore
例
# these work
*.gz
*.tmproj
*.7z
# these won't as they are folders
.vscode/
build/
# but you can do this
.vscode/*
build/*
git config --get core.excludesfile
git config --global core.excludesfile '~/.gitignore'
出来上がり!
私は無視することができる午前.tmproj
のいずれかを含めてファイルを.tmproj
か、*.tmproj
私には/users/me/.gitignore-global
ファイル。
ファイル名はで.gitignore-global
ないことに注意してください.gitignore
。ディレクトリで呼び出されたファイルをインクルードし.tmproj
たり*.tmproj
、ファイルにインクルードしても機能しませんでした。.gitignore
/users/me
core.excludesfile
設定と一致する限り、グローバル無視ファイルを何と呼んでもかまいません。
.tmproj
ファイルが無視されない理由は、ユーザーのexcludesfile
がでないためである可能性があります.gitignore
。
このための除外ファイルを作成する必要があります。自明であるこの要旨をチェックしてください。
かかわらず、あなたの質問に対処するには、いずれかのデインデックスに必要があるかもしれません.tmproj
(あなたがインデックスにすでに追加した場合)でファイルをgit rm --cached path/to/.tmproj
、かgit add
とcommit
あなたの.gitignore
ファイル。
git rm --cached
か?
VSCODEを使用している場合は、この拡張機能を使用してタスクを処理できます。作業内容を保存するたびにワークスペースを監視し、vscode設定で指定したファイルとフォルダーを自動的に無視するのに役立ちます 。jsonignoreit(vscode拡張)