簡體   English   中英

我怎么能忽略 git 存儲庫中的 bin 和 obj 文件夾?

[英]How could I ignore bin and obj folders from git repository?

我想從我的 git 存儲庫中忽略 bin 和 obj 文件夾。 正如我發現的那樣,在 .gitignore 中沒有簡單的方法可以做到這一點。 那么,還有其他辦法嗎? 在 Visual Studio 中使用干凈的解決方案?

我不確定為什么這對你不起作用。 如果有幫助,這里是我的一個 Visual Studio/git 項目中的典型 .gitignore 文件:

*.suo
*.user
_ReSharper.*
bin
obj
packages

簡單地在 gitignore 中創建一個條目可能不會忽略文件,您可能需要提交它。 我使用了以下方法並為我工作

git rm -r --cached .

git add .

然后

git commit -am "Remove ignored files"

但是,這會忽略我稍后包含在存儲庫中的腳本文件夾。

更新

在最近更新 Visual Studio 2019 后,以下選項不可用。 或者,您也可以從以下位置復制最新的 gitignore 內容。 https://raw.githubusercontent.com/github/gitignore/master/VisualStudio.gitignore

原答案

如果您使用的是 Visual Studio,那么有一種簡單的方法可以做到這一點。

  1. 打開團隊資源管理器
  2. 點擊設置
  3. 存儲庫設置
  4. 在忽略和屬性文件部分下單擊忽略文件旁邊的添加。

它將創建一個默認的 .gitignore 文件,該文件將忽略框架/語言將使用的大多數常見文件夾和文件。

在此處輸入圖片說明

  • 在 Windows 資源管理器中找到binobj文件夾
  • 右鍵單擊 TortoiseGit > 刪除並添加到忽略列表 > bin
  • 右鍵單擊 TortoiseGit > 刪除並添加到忽略列表 > obj

如果之前已經提交了 bin 和 obj 文件夾,將它們添加到 .gitignore 不會自動刪除它們。 您需要使用例如git rm -rf objgit rm -rf yourProject/obj提交刪除這些文件夾,然后提交刪除

如果您想在所有項目中忽略 bin 和 obj,則可以使用(來自gitignore 手冊頁

從配置變量 core.excludesfile 指定的文件中讀取的模式。

core.excludesfile 可以在 Unix 中的 ~/.gitconfig 配置文件中設置 - 我不知道它在 Windows 下的位置

我讓一些新開發人員將他們的 OBJ 和 Bin 文件簽入存儲庫。 即使我有 git ignore 來排除這些文件,它也無法在我的本地存儲庫中工作。

我做了以下事情來解決這個問題

  1. 從存儲庫中刪除了 Bin 和 Obj 文件夾。
  2. 也從我的本地存儲庫中刪除了 bin 和 obj 文件夾。
  3. 創建/更新 gitignore 並保存(如果尚未完成)

如果您在 repo ex: .suo in Visual Studio 中還有其他用戶特定的文件,您可以在執行上述操作后將它們添加到 gitignore 文件中。

我在浪費了一點時間后發現了這一點,希望這對同一場景中的某些人有所幫助。

@Raphael Pinel 是絕對正確的。 如果文件已在 Git 存儲庫中,則 .gitignore 不起作用。

我使用 VS2019 和 Azure DevOps 作為我的 Git 存儲庫。 這是我修復它的方法。

在 Visual Studio 中,添加 .gitignore 文件(如有必要)並將該文件推送到存儲庫。

 Team Explorer->Changes->Right Click
 .gitignore->Stage.

然后提交暫存,然后同步。 轉到 Azure DevOps 網站。
從 Git 存儲庫中刪除 bin/obj 文件夾。 在 Visual Studio 中,

Team Explorer->Changes->"Undo Changes" to those folders.
Team Explorer->Synch->Pull to update local Git repository.

您現在可以構建您的項目,Git 將忽略 .gitignore 文件中指定的文件夾。

如果您嘗試通過源代碼樹並且仍然沒有忽略文件,請轉到工具-->選項-> Git,然后選擇 .gitignore 的位置在此處輸入圖片說明

就我而言,bin 和 obj 文件夾嵌套在根 .gitignore 文件的 Project 文件夾下,所以我必須像下面這樣添加它:

[PROJECT_FOLDER_NAME]/bin
[PROJECT_FOLDER_NAME]/對象

將 PROJECT_FOLDER_NAME 替換為您的項目文件夾名稱

嘗試添加不需要的文件夾的名稱,git 永遠不會從前面提到的根目錄直接進行這些更改。 盡管將這些文件夾名稱添加到.gitignore但這對我.gitignore

bin
obj
packages

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM