4

在本地 Git(克隆)存储库上工作,我创建了一个分支并.gitignore在其中放置了文件,以从git commit. 它工作得很好,但是在切换到不同的分支后,那些目录(排除的目录)出现在其中(在不包括这些目录的分支上)。

这是正常的 Git 行为吗?如果是这样,避免上述问题的最佳做法是什么?

4

3 回答 3

6

.gitignore文件是存储库中的一个文件,就像其他任何文件一样。因此,如果您创建一个新.gitignore文件,将其提交到一个分支,然后切换到另一个,该.gitignore文件将消失。这个是正常的。

于 2012-08-16T07:19:45.987 回答
2

您可以在其他三个位置指定忽略的文件。从man gitignore(我排除了 CLI,因为它只与管道命令有关):

o   Patterns read from $GIT_DIR/info/exclude.

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

如果要全局忽略文件,请使用第二个。在您的创建~/.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 回答