向.gitignore添加新条目不起作用

时间:2017-08-22 20:40:43

标签: git

如果我理解正确,为了“忽略”某个文件,以便在我输入git statusgit add -A时它不会出现,我需要将其添加到.gitignore文件中。

我的目标是在永久性地向Git提交更改时忽略某个文件夹和文件。

我尝试在编辑器中编辑.gitignore文件:

config/
src/package.xml

我保存了文件,已提交并推送到Git,从另一个存储库刷新我的项目,键入git status并仍然看到了xml文件和文件夹。

还尝试使用GItHub Desktop选择“放弃更改”,它会自动添加到.gitignore以下行:

*.sublime-workspace
config/.local_store
*.sublime-workspace
src/package.xml

但结果相同......

项目结构:

          Full
    ________|____________
   |        |            |
config  .gitignore      src
   |                     |
  ...                package.xml

2 个答案:

答案 0 :(得分:3)

.gitignore不适用追溯。仅当第一次向回购添加文件时,git add才会读取它。

如果文件已在回购中,则在gitignore中列出该文件是不够的。您还需要将其从仓库中移除(git rm --cached src/package.xml)。

不要忘记git add .gitignoregit commit,以便保留更改。

答案 1 :(得分:0)

如果您的XML文件已被跟踪并且您希望保留它,则可以使用此post中所述的命令忽略新修改。否则你将不得不删除它,如评论中所述。

请注意,.gitignore的替代方法是使用.git/info/exclude