Git 命令显示 .gitignore 忽略了哪些特定文件

2023-12-03

我正在接触 Git,并遇到以下问题:

我的项目源树:

/
|
+--src/
+----refs/
+----...
|
+--vendor/
+----...

我的供应商分支中有代码(当前为 MEF),我将在那里进行编译,然后将引用移至/src/refs这就是项目从中获取它们的地方。

我的问题是我有我的.gitignore设置为忽略*.dll and *.pdb。我可以做一个git add -f bar.dll强制添加被忽略的文件,这是可以的,问题是我无法弄清楚列出哪些文件存在被忽略。

我想列出被忽略的文件,以确保我不会忘记添加它们。

我已经阅读了手册页git ls-files并且无法使其发挥作用。在我看来,这git ls-files --exclude-standard -i应该做我想做的事。我缺少什么?


Notes:

  • 小白的answer更简单(git1.7.6+):git status --ignored(详见“有没有办法告诉 git-status 忽略 .gitignore 文件的影响?")

也很有趣(在qwertymk's answer),您还可以使用git check-ignore -v命令,至少在 Unix 上(不起作用在命令提示符中Windows会话,但在 Windows CMD git bash 会话中工作)

git check-ignore -- *
git check-ignore -v -- *

第二个显示了实际的规则.gitignore这使得文件在你的 git 仓库中被忽略。
在 Unix 上,使用“什么递归扩展到当前目录中的所有文件?” 和 bash4+:

git check-ignore **/*

(or a find -exec命令)

Note: https://stackoverflow.com/users/351947/Rafi B.建议在评论中 to 避免(有风险的)globstar:

git check-ignore -v $(find . -type f -print)

确保从文件中排除这些文件.git/不过子文件夹。

CervEd建议在评论, 避免.git/:

find . -not -path './.git/*' | git check-ignore --stdin

原始答案(2009)

git ls-files -i

应该有效,除了它的源代码表示:

if (show_ignored && !exc_given) {
                fprintf(stderr, "%s: --ignored needs some exclude pattern\n",
                        argv[0]);

exc_given ?

事实证明,在之后还需要一个参数-i实际列出任何内容:

Try:

git ls-files -i --exclude-from=[Path_To_Your_Global].gitignore

(但这只会列出你的cached(不可忽略的)对象,带有过滤器,所以这不完全是你想要的)


Example:

$ cat .git/ignore
# ignore objects and archives, anywhere in the tree.
*.[oa]
$ cat Documentation/.gitignore
# ignore generated html files,
*.html
# except foo.html which is maintained by hand
!foo.html
$ git ls-files --ignored \
    --exclude='Documentation/*.[0-9]' \
    --exclude-from=.git/ignore \
    --exclude-per-directory=.gitignore

实际上,在我的“gitignore”文件(称为“排除”)中,我找到了一个可以帮助您的命令行:

F:\prog\git\test\.git\info>type exclude
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~

So....

git ls-files --ignored --exclude-from=.git/info/exclude
git ls-files -i --exclude-from=.git/info/exclude

git ls-files --others --ignored --exclude-standard
git ls-files -o -i --exclude-standard

应该可以解决问题。

(谢谢honzajde指出在评论中 that git ls-files -o -i --exclude-from... does not包含缓存文件:仅git ls-files -i --exclude-from... (without -o) does.)

正如在ls 文件手册页, --others是重要的部分,以便向您显示非缓存、非提交、通常被忽略的文件。

--exclude_standard不仅仅是一个捷径,而是一种包含的方式all标准“忽略模式”设置。

exclude-standard
添加标准 git 排除:.git/info/exclude, .gitignore在每个目录中,以及user's global exclusion file.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git 命令显示 .gitignore 忽略了哪些特定文件 的相关文章

  • 尽管有 svn 复制,如何 git svn 克隆完整历史记录

    在我的公司 我们即将从 svn 切换到 git 我们使用的 SVN 非常大 没有 svn 布局 并且在每个版本拆分上我们都制作了一个 svn 副本 SVN存储库结构 svnserver company de product xy 主要版本号
  • web2py git 集成 - localhost 和 pythonanywhere

    我完全不知道如何将 Github 集成到 web2py 中 我在 USB 上安装了 web2py任何地方的Python http www pythonanywhere com web2py概述文档chapter3http web2py co
  • 主存储库和本地存储库在同一台机器上

    我是 Git 新手 我已经在 Linux 服务器中创建了一个主存储库 同一个服务器将由 5 组 每组 3 个用户 使用 我想为每个组创建一个本地存储库 小组成员又应该为每个人创建一个本地存储库 使用内容并将修改提交到小组的本地存储库 我该怎
  • “git add”返回“致命:外部存储库”错误

    我刚刚进入 git 的奇妙世界 我必须提交我对程序所做的一系列更改 位于名为的目录中 var www myapp 我创建了一个新目录 home mylogin gitclone 从这个目录中 我做了一个git clone针对公共回购 我能够
  • Git守护进程克隆错误

    All 我正在按照以下指示进行操作this SO https stackoverflow com a 377293 724357答案 快速提供回购 当我跑步时git clone git ipAddr git project我得到这个输出 r
  • Eventmachine start_tcp_server 无接受器 - 端口正在使用或需要 root 权限(运行时错误)

    我已经 3 天无法运行本地服务器了 重新启动我的计算机没有帮助 有几次 在反复尝试大约 40 50 次之后 它随机地起作用了 我不明白为什么 我尝试过一次不同的端口并且有效 但从那以后 没有端口有效 每次我尝试运行我的 Rails 服务器时
  • 本地git,推送到tfs远程repo

    我厌倦了向我的队友解释使用 DVCS 相对于 CVCS 的好处 他们中的一些人害怕学习曲线 另一些人则看不出任何原因 因为对他们来说 这都是一样的 就我个人而言 我对 TFS 及其问题感到非常厌倦 每当我需要进行一些小的 修复 时 我都必须
  • 从 master 更改为新的默认分支 git

    这是一个场景 我们有一个默认的分支 Master 我们以此为基础 创建分支并向上推等等 我们现在创建了一个Develop分支Master并将其设置为默认开发分支 我想知道的是 我现在如何知道我的 git pull 命令是否通过命令行请求默认
  • 为什么在 Eclipse 中对 Egit 管理的项目禁用合并工具?

    根据Egit 用户指南 http wiki eclipse org EGit User Guide Using Merge Tool 要使用合并工具 应右键单击存在合并冲突的资源 然后选择Team gt 合并工具 但是 当我执行此操作时 合
  • 在 GitHub 上执行拉取请求时避免不需要的合并提交和其他提交

    我在 Github 上分叉了一个项目 令远程上游为upstream我的远程存储库是origin 我当地的master分支设置为跟踪远程master分支 然后我在本地添加了一些东西master 时不时与上游汇合 直到今天我想发出pull re
  • 如何在本地快速拉取拉取请求

    在合并拉取请求之前 我想在本地快速拉取请求并运行测试并测试一些内容 我还不想点击 gihub 合并拉取请求 我以为滑轮会有帮助http ejohn org blog pulley http ejohn org blog pulley 但我收
  • 如何查看 github 的 SSH 密钥?

    我最近收到一封来自 Github 的电子邮件 要求我检查我的 SSH 密钥 请检查您的钥匙并确保您 认出他们 如果您有任何疑问 请拒绝钥匙并 上传新密钥 如何在 ubuntu 11 10 上使用 git 检查我的密钥 您可以按照 GitHu
  • 如何使用 vim 作为“git show”编辑器?

    全部如所述如何使用 vim 作为 git log 编辑器 https stackoverflow com questions 16666009 how do i use vim as git log editor不适用于 git show
  • gitlab 请求将分支 A 合并到开发中(落后 3 次提交)我应该担心吗?

    在 gitlab 中创建合并请求时 我经常收到一条消息 请求将分支 A 合并到开发中 x 提交落后 gitlab想告诉我什么 我应该担心还是需要修复某些东西 什么 一段时间后合并请求在项目中打开时 由于其他人合并了自己的更改 您尝试合并到的
  • 如何解决 VS Code 中变基拉取的合并冲突?

    当我做一个git pull rebase 并且我的提交中存在合并冲突 我得到冲突差异视图 解决所有冲突并暂存文件 然后呢 我可以打开终端并运行git rebase continue但是 VS Code 中不应该有一个按钮来完成变基吗 只需使
  • 未能将一些参考推送至 [email protected]

    当我尝试推送到 Heroku 存储库时收到此错误 我已经设置了autocrlf false在gitconfig中 但这个问题仍然存在 我也尝试过这个解决方案here https stackoverflow com questions 566
  • GIT - 推送到 (GitHub) origin master 没有任何作用

    我已经分叉了某人的 GIT 存储库 https github com nippysaurus toodledo objc 将其克隆到我的本地计算机 显示带有以下信息的来源 remote origin Fetch URL https emai
  • 如何禁用 GitHub 中的拉取请求?

    我试图了解如何禁用 github 中的 拉取请求 问题一 我们正在尝试使用变基工作流程 这意味着如果不是快速推进 那么使用拉取请求可能会有害 一种解决方案 为我想要禁用拉取请求的分支设置分支权限 或者将我添加为任何进入 master 的内容
  • git 如何查找分支源自的提交哈希

    假设我从主分支分支到主题分支 然后在主题分支上进行了一些提交 是否有命令告诉我主题分支源自的主分支上的提交哈希 理想情况下 我不必知道我做了多少次提交 试图避免 HEAD 5 我已经用谷歌搜索过 但似乎无法找到答案 谢谢 use git m
  • 如何让 Gitlab 运行程序在成功构建时将代码合并到分支中

    嗯 标题几乎是不言自明的 总之 如果构建成功 我希望将一个分支 即开发 合并到另一个分支 即生产 我尝试了 jakub kania 解决方案 但我总是得到id rsa invalid format 我认为 gitlab 秘密变量以某种方式被

随机推荐

  • R JSON UTF-8解析

    我在尝试用 R 解析俄语字母表的 JSON 文件时遇到问题 该文件如下所示 text type status text type status text type status 并且以UTF 8编码保存 我尝试了 rjson RJSONIO
  • 是什么阻止您编写特定于 ruby​​ 1.9 的代码? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 到目前为止 我只是使用 YARV ruby 1 9 作为比 ruby 1 8 更快的 ruby 实现 并确保我的所有代码都向后兼容 ruby 1 8 6 什么情况 如果有 阻止您
  • 是否可以使用 jax-ws 生成 xml,但不将其发送出去

    所以这是场景 我们有 PeopleSoft 希望从销售人员来回发送消息 不幸的是 PeopleSoft 没有像 wsimport 这样的工具 它可以使用 wsdl 并为您生成类 有一些东西会消耗 wsdl 但它所做的只是生成存根消息对象 开
  • 无法触发 git 子模块上的提交后 git hook

    我们使用带有多个子模块的 git 模块 为了让日常使用更方便 我想要一个 post commit 钩子 它会自动将子模块添加到 main super root git repo clone module 中的 git 索引中 例如git a
  • 空基类是否应该影响派生类的布局?

    C 标准 引用草案 n3242 对子对象 intro object 有如下规定 除非对象是位域或零的基类子对象 size 该对象的地址是它的第一个字节的地址 占据 两个不同的对象 既不是位域也不是基数 零大小的类子对象应具有不同的地址 现在
  • 在 RANK 函数中跳过平局位置

    我想跳过领带位置 CREATE TABLE Persons Name varchar 50 totalrate int nrrates int INSERT INTO Persons Name totalrate nrrates VALUE
  • 如何在git log中显示不同的语言字符?

    这是我现在在 git 日志中看到的内容 commit d0ed97d243eaf905b03244a4d1ba6af26213e4ad Author some guy lt email protected gt Date Mon Jun 3
  • 如何在 WCF 服务方法调用之间保留值?

    我有这个 WCF 服务类 public partial class OhmioSVC IOhmioSVC Security Porque no funciona si la variable no es estatica private s
  • nokogiri 可以在保存 xml 时对属性使用单引号吗?

    Nokogiri 使用双引号保存 XML 属性 即使它读取的 DOM 有单引号 这当然是完全合法的 但即使 DOM 没有改变 它也会对文件内容带来烦人的变化 使得 diff 和 git 等工具更难弄清楚发生了什么 我可以强制它使用单引号 或
  • 更改 Bootstrap 弹出窗口的宽度

    我正在使用 Bootstrap 3 设计一个页面 我正在尝试使用弹出窗口placement right在输入元素上 新的 Bootstrap 确保如果您使用form control您基本上有一个全角输入元素 HTML 代码看起来像这样 di
  • 如何挂钩页面范围内的点击事件?

    正如问题所述 我想在每次用户单击网页时触发一个调用方法的事件 在不使用 jQuery 的情况下如何做到这一点 如果不使用 jQuery 我想你可以这样做 if document addEventListener document addEv
  • Python 矩阵邻居检查

    我有一个包含 0 和 1 的 7 7 矩阵 其中每个 x y 将检查其邻居中有多少个是 1 我是 python 的初学者 只会使用基本的编程过程 I have for x in range rows for y in range cols
  • 如何从一个页面获取输入并将其发送到 django 中的另一个页面

    我对此还很陌生 我正在尝试根据用户要求在 iframe 中构建一个报告页面 用户可以使用 src 宽度和高度创建报告 并且我成功完成了此操作 我现在能够创建报告 我想要这个创建的报告名称将显示在下拉菜单中 当用户单击报告名称时 用户可以看到
  • 在 Struts 2 中动态生成名称和值属性

    我正在将代码从 Struts1 迁移到 Struts2 Struts1代码
  • fork之后,全局变量是否共享?

    考虑这个简单的代码 int myvar 0 int main if fork gt 0 myvar else father do nothing 当子进程增加 myvar 时 该值是否与父进程共享 如 pthread 不 又是 不 它们不会
  • WPF 图像:.Source = Clipboard.GetImage() 未显示

    这个简单的程序不起作用 图像没有出现在窗口中 namespace ClipBoardTest public partial class MainWindow Window public MainWindow InitializeCompon
  • 如何创建带有数据字段的 Java 类

    我正在上一门编程课 该课为我提供了一个项目 但我不知道从哪里开始 希望有人能把我推向正确的方向 我只发布该项目的一部分 以便有人可以向我展示一些代码 以了解它是如何完成的 因为我之前参加过编程课程 但我缺乏实践 创建一个名为 Registr
  • 如何通过javascript设置没有id的textarea的值?

    通常我们运行 javascript 代码来设置任何值 document getElementById id name value 但我有一个这样的页面 div div class class name div div
  • 是否可以在多选下拉列表中设置限制?

    我在我的网站中使用了多项选择下拉列表 这工作正常 我们可以从该列表中选择多个选项 但我只想从该列表中选择 3 个选项 是否可以为此设置限制 我正在使用来自的代码http www aleixcortadellas com main 2009
  • Git 命令显示 .gitignore 忽略了哪些特定文件

    我正在接触 Git 并遇到以下问题 我的项目源树 src refs vendor 我的供应商分支中有代码 当前为 MEF 我将在那里进行编译 然后将引用移至 src refs这就是项目从中获取它们的地方 我的问题是我有我的 gitignor