4

Working on a local Git (cloned) repository, I have created a branch and placed .gitignore file within it to exclude few directories from git commit. It works just fine, but after switching to a different branch, those directories (the excluded ones) appear in it (on the branch which does not include those directories).

Is it a normal Git behavior? If so, what is the best practice to avoid the issue above?

4

3 に答える 3

6

.gitignoreファイルは、他のファイルと同様にリポジトリ内のファイルです。したがって、新しい.gitignoreファイルを作成し、あるブランチでコミットしてから別のブランチに切り替えると、.gitignoreファイルは消えます。これは正常です。

于 2012-08-16T07:19:45.987 に答える
2

無視されるファイルを指定できる場所は他に 3 つあります。からman gitignore(配管コマンドにのみ関連するため、CLIを除外しました):

o   Patterns read from $GIT_DIR/info/exclude.

o   Patterns read from the file specified by the configuration variable core.excludesfile.

ファイルをグローバルに無視する場合は、2 番目を使用します。で作成~/.gitignoreして指定します~/.gitconfig

git config --global core.excludesfile ~/.gitignore

これは、エディタのスワップ ファイルなどにのみ使用することをお勧めします.DS_Store。リポジトリ固有の無視されたファイルは、リポジトリ レベルで指定する必要があります。また、一度追跡したgit rm --cachedファイルを に追加するときに実行することを忘れないでください。.gitignore

于 2012-08-16T12:43:45.990 に答える
0

ブランチ A からブランチ B に移動するときは、A からの変更がそのブランチで既にコミットされている必要があります。

于 2012-08-16T07:21:22.680 に答える