Git ignore不会忽略指定的文件夹/文件

时间:2016-07-29 12:07:41

标签: git gitignore

我希望我的.gitignore忽略某些文件夹和文件,所以我想出了以下内容:

*.class

# usual java ignores
bin/
.metadata

# Maven
*/target/*
target/*
/target/
*/deploy/*
deploy/*

# src-gen folder is populated by the command of protobuf, these files should not be pushed
src-gen/*

# eclipse generated stuff
dependency-reduced-pom.xml

# we shouldn't have .jar files in our repository, 
# apart from these 5 jars which are vital for our build process
*.jar
!/projectName/bundle/**/*.jar

# For Unix editors 
# sometimes make file copies ending
# with ~
# To ignore them use:
*~

# For Mac
.DS_Store
._*

# For markdown read me files
.README.md.html

然而,在git status之后我看不到要删除的任何内容作为输出。请注意,这是一个子模块,如果这很重要的话。我希望这个.gitignore忽略所有内容而不指定任何文件夹名称,因为我不想要任何硬编码。

这是我的文件夹结构:

+ parentRepo
  + thisRepo
    + .gitignore
    + projectName
      + src-gen
      + target
      + deploy
      + dependency-reduced-pom.xml
      + bundle
        + system
          + 1.jar
          + 2.jar
          + 3.jar
          + 4.jar
          + 5.jar

2 个答案:

答案 0 :(得分:9)

"我看不到要删除的内容" - 您刚刚告诉git忽略了一些文件;现在你希望它删除它们吗?

.gitignore仅用于尚未跟踪的文件(即将新文件添加到存储库时)。如果文件已经在存储库中并且您希望git忽略它,则必须将其从存储库(git rm --cached file)中删除并提交更改。

答案 1 :(得分:0)

确保您的.gitignore位于根目录中。在该目录中运行git status并从状态输出中复制文件的路径并将其粘贴到.gitignore

.gitignore只会忽略您尚未添加到存储库中的文件。