2014-02-14 57 views
3

我使用Github for Windows作为GUI来管理我的Git存储库,用于Visual Studio C#/ MVC项目。 (主人托管在bitbucket.org,因为它需要现在是私人的,但不是问题的根源。)Github for Windows忽略.gitignore Visual Studio

对于第一打推或左右,我推动bin,obj和调试东西给主。然而,正如其他人开始有东西推动,这自然造成的问题...

所以,我通过我的资源库在Windows资源管理器和删除所有这些临时文件/目录,并提交/推动更改到主。然后我在我的机器上删除了我的存储库,并删除了一个新的副本。没有不需要的东西,快乐活泼。

接下来,我从Github's recommended ignores下载了VisualStudio.gitignore,并将其放置在我的存储库的根目录下。 (希望这会持续到整个项目?)

但是,当我启动Github for Windows并提交我的本地更改时,它仍然找到所有/ bin,/ obj等。所以,我打开了一个shell并做了'git diff'唯一不同的文件发现是“ProjectOrganics.v11.suo”(我相信在.gitignore文件中没有特别忽略它...

我想知道是否存在工具问题与Github的Windows,它并没有考虑.gitignore?或者,也许主人仍然跟踪这些目录,尽管他们被删除在最新的提交给主人??(我删除并重建我的整个在主机上的存储库。)

我也尝试使用'git rm --cached'手动删除目录,但它没有找到它们。我一直无法弄清楚什么混帐相当于“目录”是的,所以我不知道如果我用一个无效的文件路径,或者实际上不存在...

EDIT1 - 目录 “projectname”只是我项目名称的替身。第一个文件夹是目录的根目录。

./projectname/    (repository root) 
     .git/ 
     VisualStudio.gitignore (the .gitignore) 
     ProjectName/    (Solution) 
      ProjectName.Doman/ (class library) 
      ProjectName.Web/  (mvc project) 
      ProjectName.sln 
      ProjectName.suo 
      ...etc 

我想要做的是忽略.Domain和.Web文件夹中的bin/obj文件夹。 VisualStudio.gitignore是从github网站过去的精确副本。

+1

'.gitignore'在Windows/VS上适合我。你是如何创建/编辑'.gitignore'的? – admdrew

+1

请显示你的目录结构(的片段),你的gitignore中的一个片段,以及git repo本身的全部内容 - “.git”目录在哪里。 – mockinterface

+0

@mockinterface用我的目录图编辑原始问题。 –

回答

5

好的,问题出在文件名中。我从github下载了VisualStudio.gitignore,并将该文件粘贴到我的目录中,假设它可以工作。

但是,正确的名称应该只是.gitignore - 只是一个文件扩展名,没有名称。不幸的是,Windows资源管理器会在您尝试执行此操作时弹出,因此您必须通过命令提示符或通过Windows自身的Github来创建它。

在Github for Windows gui中,右键单击要忽略的文件并选择“忽略文件”。这将创建.gitignore文件。从那里您可以复制/粘贴VisualStudio.gitignore的内容或您想要使用的任何规则。

+7

有*是一种在Windows中创建具有领先时期的文件的方法,[这只是非常直观](http://blog.fox.geek.nz/2012/10/how-to-create-files- with-leading-period.html) - 创建具有前导期*和*后期(即'.gitignore.')的文件,Windows将正确创建该文件。 – admdrew