簡體   English   中英

Git 忽略不在 .gitignore、exclude 或 config 文件中的目錄

[英]Git ignores directory that is not in .gitignore, exclude or config file

我的項目中有一個目錄被忽略,但它不在我期望被忽略文件夾的任何位置(.gitignore、exclude 或 config)。

這是我用 gradle 構建的 Android Studio 項目,我的 VCS 是 Git。 我正在使用 SourceTree & GitBash 來管理 repo。 我已將項目中的所有 .ignore 文件重置為空,\\info\\exclude 為空,並且配置沒有 'excludesfile' 屬性。

被忽略的文件夾是 - 'myProj/app/src/debug/res/raw/' 不知道這個文件夾最初是如何被忽略的。 git 跟蹤了一個不同的相對文件夾“myProj/app/src/debug/res/values”。

有沒有其他我沒有看過的地方設置忽略文件? 是否有任何 git 命令可以顯示此文件夾被設置為忽略文件夾的位置? 也許我忽略了一個可以刪除的二進制文件?

當前運行 'git status --ignored' 僅顯示 'myProj/app/src/debug/res/raw/' 被忽略。

使用git check-ignore -v myProj/app/src/debug/res/raw/查看忽略的位置。 您可能必須為其指定該目錄中的文件名而不是目錄本身。

謝謝大家這么快回復

我最終通過使用以下方法添加文件夾解決了這個問題:

  • git add -f myProj/app/src/debug/res/raw/

然后提交和推送,這應該是一個同時的解決方案,直到找到真正的解決方案,但做到了這一點,之后開始跟蹤文件夾。

請注意,您的規則也可能存在於.gitignore_global文件中(在您的用戶文件夾中)。 您可能通過在 SourceTree 的“將此忽略條目添加到”下拉列表中選擇“全局忽略列表”而意外添加了它。

不要這樣做!

您通常不想將文件夾名稱添加到全局忽略列表中

我知道這個問題已有 5 年歷史,但它是 Google 結果中的第一個。

除了前面提到的那些之外,另一種可能性是該文件夾已作為子模塊添加。 例如在 GitHub 中,底部文件夾是一個子模塊:

例子

我最近在將整個 git 項目復制到另一個項目時發生了這種情況。 也就是說,我的回購看起來像這樣:

repo
|
|__ .gitignore
|__ .git/ #git folder for repo
|__ some_files.ext
|
|__ ignored_folder
     |__ .git/ #git folder of the copied repo
     |__ .gitignore
     |__ some_other_files.ext

我的具體解決方案是:

  1. 將整個ignored_folder剪切到ignored_folder之外。
  2. add&commit 刪除repo中的子模塊
  3. 刪除移動的ignored_folder.git文件夾。
  4. ignored_folder回。
  5. 添加並提交。

但是,我確信有更好的類似 git 的解決方案

暫無
暫無

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

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