我还在和Git挣扎。我有git本地回购。它看起来如下:
project
- .git
- .gitignore
- child [directory]
- some files
的.gitignore:
target/
logs/
.DS_Store
我做到了。
git rm --cached .
git add .
我预计.gitignore中的文件和目录不会被跟踪,但它不起作用。文件中没有任何内容被忽略。
我能解决这个问题吗?
您的回答将不胜感激。
答案 0 :(得分:2)
有3个地方你可以在git中配置忽略文件(而.git/.gitignore
不是其中之一)。从最高优先级到最低优先级,它们是:
.gitignore
,或位于任何父目录中。 .gitignore
已与项目的其余部分一起提交和版本化。存储库的根目录中通常有一个,但每个目录最多可以有一个。此文件应包含要忽略的项目特定事项(构建输出等)。.git/info/exclude
的存储库文件。此文件未进行版本控制,只会影响该存储库。core.excludesfile
指定的全局文件。它通常放在名为~/.gitignore_global
的用户主目录中,但可以命名为任何名称。此文件也没有版本。它适用于所有git存储库。此文件应包含要忽略的项目不可知的内容(编辑器文件,操作系统文件)。在您的情况下,您应该在项目的根目录中创建一个.gitignore
,其中包含以下内容:
target/
logs/
然后为.DS_Store
中的~/.gitignore_global
规则创建全局gitignore:
.DS_Store
运行git config --global core.excludesfile ~/.gitignore_global
以启用该文件。
有关详细信息,请参阅this helpful GitHub article和gitignore(5)。