2014-02-14 56 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