Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;“git状态”;正在显示它不应该显示的文件';T_Git_Msysgit - Fatal编程技术网

&引用;“git状态”;正在显示它不应该显示的文件';T

&引用;“git状态”;正在显示它不应该显示的文件';T,git,msysgit,Git,Msysgit,在过去的几周里,我遇到过两次同样的问题,git似乎因为某种原因突然出现问题,并在git状态中列出了文件,而这些文件不应该被列为changed/new/etc 版本:git版本1.8.1.msysgit.1 屏幕截图: 这是我的.gitignore文件的内容: #ignore thumbnails created by windows Thumbs.db #Ignore files build by Visual Studio *.obj *.exe *.pdb *.user *.aps *.p

在过去的几周里,我遇到过两次同样的问题,git似乎因为某种原因突然出现问题,并在
git状态中列出了文件,而这些文件不应该被列为changed/new/etc

版本:
git版本1.8.1.msysgit.1

屏幕截图:

这是我的
.gitignore
文件的内容:

#ignore thumbnails created by windows
Thumbs.db
#Ignore files build by Visual Studio
*.obj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
[Bb]in
[Dd]ebug*/
*.lib
*.sbr
obj/
[Rr]elease*/
_ReSharper*/
[Tt]est[Rr]esult*
*.sln
.gitignore
.orig
*.psess
#word temp files
~*.docx
*.tmp
屏幕截图中绿色的所有内容都不正确。首先,所有的.resx文件都不是新的,它们在我开始更改之前就存在了。第二,最后一个绿色文件(.cache)不仅在我的
.gitignore
文件中,目录(obj/)也是如此

我所在的分支昨天刚刚创建,下面是其中一个文件,以绿色显示:

你可以看到它的日期是2013年2月19日,我今天刚刚对这个项目做了修改

红色的东西都是我改变的。我只更改了项目中的一个文件(底部的红色文件),所有“不正确”的新文件都来自该文件,然后生成

有人知道发生了什么吗

更新:执行
git reset
修复了该问题。以下是输出:

Unstaged changes after reset:
D       Correspondence/STAR/Participants/Claim - Framework/Word/C_PAR_ClmFrmWrk_SuppRptFrmEC1.docx
D       Correspondence/STAR/Participants/Claim - Framework/Word/C_PAR_ClmFrmWrk_SuppRptFrmEC1_DT.docx
D       Correspondence/STAR/Participants/Claim - Framework/Word/C_PAR_ClmFrmWrk_SuppRptFrmEC2.docx
D       Correspondence/STAR/Participants/Claim - Framework/Word/C_PAR_ClmFrmWrk_SuppRptFrmEC2_DT.docx
D       Correspondence/STAR/Participants/Claim - Framework/Word/C_PAR_ClmFrmWrk_SuppRptFrmEP1.docx
D       Correspondence/STAR/Participants/Claim - Framework/Word/C_PAR_ClmFrmWrk_SuppRptFrmEP1_DT.docx
D       Correspondence/STAR/Participants/Claim - Framework/Word/C_PAR_ClmFrmWrk_SuppRptFrmEP2.docx
D       Correspondence/STAR/Participants/Claim - Framework/Word/C_PAR_ClmFrmWrk_SuppRptFrmEP2_DT.docx
D       SQL/STAR/Stored Procedures/s_ClmTrackingRecordSEL_ResendSuppByTrackingRecordID.sql
M       Shared Objects/Components/TRSEnums/TRSEnums.vb
M       Shared Objects/Components/TrsPartFilterScreens/VB Code/ReportRequest.Partial7.Miscellaneous.vb

经过大量测试后,我发现了问题所在:
Git源代码管理提供程序
。如果我构建了以前没有在我的分支中构建过的任何项目,那么问题就会再次发生。例如,我构建了我们的电子邮件对象:

那么你如何修复它呢?删除
“Git源代码管理提供程序”
,问题即得到纠正。不幸的是,每次我现在打开一个项目时,我都会得到“找不到与此解决方案相关联的源代码管理提供程序”,而我没有得到pre
update2
。不幸的是,我认为没有任何方法可以卸载
更新2


如果您遇到相同的问题,只需执行
git reset
即可解决问题,但如果您不想再次出现问题,则必须删除
“git源代码管理提供程序”

它列出了一些已删除的文档文件。这些还存在吗?如果没有,您应该找出(在您的构建过程中或以其他方式)删除的内容those@NevikRehnel是的,这些删除是正确和有目的的。VisualStudio中没有真正的构建过程,只有一个通用的“构建项目”。红色的所有内容都是正确的。除非有人对文件或文件所在的目录运行了
git add
(例如
git add-A
git add-u
[如果文件已被跟踪并已被修改],
git add
,等等),否则文件通常不会显示在“要提交的更改”下。您的忽略列表中似乎没有
*.resx
。另外,
*.cache
位于
.gitignore
中的事实不会自动取消对文件的跟踪,因此如果该文件是在
.gitignore
中的模式之前添加的,它将继续被跟踪。@twalberg感谢您的回复。是,*.resx文件不应位于忽略文件中,而应仅在更改或实际添加时添加。我的.gitignore文件至少一个月没有更改。考虑到最近我的设置发生了什么变化,我记得在应用update 2之后,我刚刚为visual studio 2012安装了“Git源代码管理提供程序”扩展。我想这两个问题都是在我安装它之后发生的。我无论如何都试过了,更喜欢命令行(更强大的方式)。进一步调查…磁盘上的文件名是
.resx
还是
.resx
?Git区分大小写,即使Windows不区分大小写。如果磁盘上的文件与源代码管理中的文件没有相同的大小写,那么根据用于检查更改的内部方法,您可能会看到不一致。明智地说,git源代码管理提供程序会将新文件添加到存储库中,如果它们不在
.gitignore
。在任何情况下,如果您不想要该消息,您应该作为源代码管理提供程序将其解除绑定:@EdwardThomson,但如果您查看.gitignore中文件上方的所有内容,这就是问题所在。请阅读上面的内容。我已经读了你的
.gitignore
好几遍了;您认为这些更改应该匹配哪一行?Git源代码管理提供程序不应该更改存储库中的任何内容,除非您明确请求(例如,使用它来暂存文件或进行提交)。您的存储库是否可以公开访问?