簡體   English   中英

如何在 Sourcetree 中忽略具有 Git 存儲庫的文件夾中的所有文件?

[英]How do I ignore all files in a folder with a Git repository in Sourcetree?

我有一個使用 Sourcetree 管理的 Bitbucket Git 存儲庫。

我有兩個文件夾要提交,但我需要忽略這些文件夾中的所有文件,因為它們只包含臨時文件。

我怎樣才能做到這一點?

對於 Sourcetree 用戶:如果您想忽略特定文件夾,只需從該文件夾中選擇一個文件,右鍵單擊它並執行“忽略...”。 您將有一個彈出菜單,您可以在其中忽略“忽略下面的所有內容:<您不需要的文件夾>”

第一個菜單

第二個菜單

如果“忽略”選項變灰,則必須選擇“停止跟蹤”選項。 之后,文件將添加到暫存文件中,紅色背景圖標上帶有減號,未暫存文件列表中的文件圖標將更改為紫色背景上的問號。 現在在Unstaged 文件列表中,“忽略”選項再次啟用。 只需按照上述說明進行操作。

將此添加到 .gitignore:

*
!.gitignore

右鍵單擊文件 →忽略忽略下面的所有內容

如果忽略選項變灰,則:

  1. 首先暫存文件
  2. 右鍵單擊 →停止跟蹤
  3. 該文件將出現在下面的窗格中,並帶有問號→右鍵單擊它→忽略

在此處輸入圖片說明

據我所知,Git 不跟蹤文件夾,只跟蹤文件 - 因此無法提交空文件夾(或忽略所有文件的文件夾)。 例如,如果您由於構建過程中的某個步驟需要該文件夾存在,也許您可​​以讓構建工具創建它? 或者您可以在文件夾中放置一個空的、未被忽略的文件並提交它。

在為此糾結了至少一個小時之后,我提供了這個答案,以嘗試擴展其他人的評論。 要忽略文件夾/目錄,請執行以下操作:如果您的項目根目錄中沒有 .gitignore 文件(該名稱正好是“.gitignore”),請在要排除的文件夾中創建一個虛擬文本文件。 在源樹內,右鍵單擊它並選擇忽略。 你會得到一個看起來像這樣的彈出窗口。

在此處輸入圖片說明

選擇“下面的所有內容”,然后從下拉列表中選擇要忽略的文件夾。 這將在您的根目錄中創建一個 .gitignore 文件並將文件夾規范放入其中。

如果您的根文件夾中已經有一個 .gitignore 文件夾,您可以按照上述相同的方法,或者您可以編輯 .gitignore 文件並添加要排除的文件夾。 它只是一個文本文件。 請注意,它在路徑名中使用正斜杠而不是反斜杠,正如我們 Windows 用戶所習慣的那樣。 我嘗試在 Windows 資源管理器中手動創建一個 .gitignore 文本文件,但它不允許我創建一個沒有名稱的文件(即只有擴展名)。

請注意,添加 .gitignore 和文件規范對已被跟蹤的文件沒有影響。 如果您已經在跟蹤這些,則必須停止跟蹤它們。 (右鍵單擊文件夾或文件並選擇停止跟蹤。)然后您會看到它們從綠色/干凈或琥珀色/已更改圖標變為紅色/已刪除圖標。 在您下次提交時,這些文件將從存儲庫中刪除,然后顯示為藍色/忽略圖標。 另一位貢獻者問為什么對特定文件禁用忽略,我相信這是因為他試圖忽略已經被跟蹤的文件。 您只能忽略帶有藍色問號圖標的文件。

正如其他人所提到的:git 不跟蹤文件夾,只跟蹤文件。

您可以使用這些命令(或等效邏輯)確保文件夾存在:

echo "*" > keepthisfolder/.gitignore
git add --force keepthisfolder/.gitignore
git commit -m "adding git ignore file to keepthisfolder"

該文件的存在意味着任何檢出存儲庫的人都將擁有該文件夾。

gitignore 文件的內容意味着其中的任何內容都將被忽略

您不需要忽略 .gitignore 文件本身 這是一條一旦承諾就毫無意義的規則。

要么

如果您希望將所有忽略定義保留在同一個位置,您可以在項目的根目錄中創建 .gitignore ,內容如下:

*.tmp # example, ignore all .tmp files in any folder
path/to/keepthisfolder
path/to/keepthatfolder

並確保文件夾存在

touch path/to/keepthisfolder/anything
git add --force path/to/keepthisfolder/anything
git commit -m "ensure keepthisfolder exists when checked out"

“任何東西”字面上可以是任何東西。 常用名稱有 .gitignore、.gitkeep、empty。

如果您的忽略選項變灰,則您必須先停止跟蹤該文件,然后才能忽略它。 您只需右鍵單擊該文件並點擊“停止跟蹤”即可。

它旁邊應該會出現一個藍色圖標。 再次右鍵單擊它,然后單擊忽略。

忽略源樹上的完整文件夾。

   Just Open Repository >Repository setting > Edit git ignore File and 
   you can rite some thing like this :

 *.pdb 
*.bak 
*.dll
*.lib 
.gitignore
packages/ 
*/bin/
*/obj/ 

對於 bin 文件夾和 obj 文件夾只需寫: */bin/ */obj/

  • 在 Sourcetree 中使用 Git 忽略文件夾中的所有文件:

使用 Sourcetree 中的 Git 忽略文件夾中的所有文件

在 Sourcetree 中:只需忽略指定文件夾中的文件。 Sourcetree 會詢問您是否要忽略該文件夾中的所有文件。 這是完美的!

暫無
暫無

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

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