14

我有一个生成这些文件并添加到 gitignore 的数据库项目。但是,它们似乎并没有被忽略,我需要在提交之前恢复它们,这很烦人。文件仍然被VS锁定,这是一个问题吗?

#
# Windows and Mac OS X Temp Cache Files
#
[Tt]humbs.db
*.DS_Store

#
#Visual Studio files
#
*.[Oo]bj
*.user
*.aps
*.pch
*.vspscc
*.vssscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.[Cc]ache
*.ilk
*.log
*.lib
*.sbr
*.sdf
*.dbmdl
*.mdf
*.ldf
*.Database.dbmdl
ipch/
obj/
[Bb]in
[Dd]ebug*/
[Rr]elease*/

#
#Tooling
#
_ReSharper*/
*.resharper
[Tt]est[Rr]esult*

#
#Project files
#
[Bb]uild/

#
#Subversion files
#
.svn

#
# Microsoft Office Temp Files
#
~$*

#
# YoureOnTime specific files
#
YoureOnTime.Database.dbmdl


# End of File
4

1 回答 1

24

我需要在提交之前还原它们

表示它们已经版本化,并且是在使用 添加.gitignore git add输入的。

两种可能的解决方案:

  1. 暂时把它们从你的.gitignore, 然后
    git rm --cached -- *.mdf
    git rm --cached -- *.ldf.
    这将从索引中删除文件,同时将它们保留在磁盘上。完成后,
    git commit -m "removing crap from repo"恢复您的.gitignore.

  2. 如果你不想玩弄你的.gitignore,你可以使用update-index:
    git update-index --assume-unchanged -- *.mdf
    git update-index --assume-unchanged -- *.ldf.
    这将强制 git 将文件视为未更改,即使它们是未更改的。

于 2012-08-03T09:07:12.993 回答