未暂存的更改将文件显示为已删除,即使该文件存在

2024-03-16

我的存储库中的一个文件让我非常头疼。git status在“未暂存提交的更改”下将其显示为“已删除”,并且还在“未跟踪的文件”下显示完全相同的文件!该文件肯定存在于我的磁盘上以及远程存储库上。如果我删除该文件,“未跟踪的文件”中的条目就会消失,但另一个条目会保留。

现在我的问题是:这有什么意义?我该如何解决它?

$ git checkout -- .

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
  (use "git add/rm ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

    deleted:    solution02/exercise02.txt 

Untracked files:
  (use "git add ..." to include in what will be committed)

    solution02/exercise02.txt

no changes added to commit (use "git add" and/or "git commit -a")

$ git status --short
 D "solution02/exercise02.txt "
?? solution02/exercise02.txt

$ rm solution02/exercise02.txt

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
  (use "git add/rm ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

    deleted:    solution02/exercise02.txt 

no changes added to commit (use "git add" and/or "git commit -a")

$ git status --short
 D "solution02/exercise02.txt "

只是澄清一下:第一git status是一个对我来说没有任何意义的文件,因为它在“未暂存提交的更改”下将该文件列为“已删除”。但该文件并未被删除。它存在。


当文件被巧妙地重命名时,即会发生这种情况。 e.当磁盘上的名称与 Git 存储库中的名称不匹配时,即使两个名称在视觉上是匹配的。例如 :

  • 如果名称包含非 ascii 字符(重音字母),则同一字符可以有多种编码。例如,由于 UTF-8 规范化,Mac OS X 下旧版本的 Git 存在已知问题。

  • 其中一个名称中可能仅存在空格更改(例如尾随空格)。git status --short将显示有关文件名的更多详细信息(如果需要,可以在名称周围加双引号,...),并且可能会在这里提供帮助。

解决方案是将文件重命名回 Git 名称。精确剪切并粘贴“已删除”的名称可能会有所帮助。

编辑:在命令的实际输出中更新后,结果发现这是第二个选项:“ 后面有一个尾随空格exercise02.txt " 在 Git 跟踪的文件的名称中。

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

未暂存的更改将文件显示为已删除,即使该文件存在 的相关文章

  • 如何 git grep 仅一组文件扩展名

    如何执行 git grep 并将检查的文件限制为一组文件 我希望能够 grep cpp 和 h 文件的内容来查找 MyFunc 例如 git grep MyFunc hc 但是 这也匹配 c 文件和 cs 文件 Use git grep M
  • 为什么我无法创建/签出该分支?

    我正在尝试创建本地 Git 分支 但它不起作用 以下是我正在使用的命令 tablet edit11 git checkout b edit 11 Switched to a new branch edit 11 tablet edit11
  • 哪个是更智能的 git 协议,ssh 或 git(通过 ssh)或 https 协议?

    哪个高效 SSH 或 Git 文件压缩 我对 Git 的理解是 git 协议很智能 因为通信两端都有一个协议代理来压缩文件传输 从而通过有效地使用网络带宽来实现更快的克隆 From 我发现了以下说法 For secure authentic
  • 丢失了我在 GIT 中的提交。你会不小心删除提交吗?

    我正在使用 git gui 但看不到我的分支 我知道我今天检查了一些东西 在完成提交并使用分支查看器验证后 我更改为较早的分支 我对之前的分支进行了更改 然后想返回到当前的分支 但我再也看不到它了 任何帮助都会很棒 回答你的问题 在大多数情
  • git 匹配多个单词的标签

    我们可以得到最后一个 git 标签 它以一个单词 例如 TEST 开头 如下所示 git describe tag dirty match TEST 我想知道如何获得最后一个以 word1 开头的标签orword2 例如测试OR跑步 我尝试
  • 格里特:! [远程拒绝] HEAD -> refs/publish/master (没有新的更改)

    我做了一些更改 提交了它们并将分支推送到 Gerrit git push gerrit 现在我的更改没有出现在 Gerrit 中 我认为这是因为我手动推送更改而不是使用git 审查 https github com openstack in
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • apt-get 无法在 ubuntu dockerfile 中工作

    我对 docker 相当陌生 正在尝试通过编写自己的镜像来学习 并且目前正在阅读 Docker 的实际操作 ISBN 1633430235 在我自己的代码和书中的示例 第 146 页 中 我想通过 dockerfile 安装 git My
  • git 认为文件已更改

    我在一台机器上对一个项目做了一些工作 然后推送到 github 在另一台机器上克隆并做了一些工作 然后推送 然后我回到第一台机器并做了一个pull 现在 第一台机器认为项目中最初的所有文件都已更改 我试过了 git checkout f a
  • 如何克隆特定的 Git 标签

    From git clone 1 手册页 http git scm com docs git clone branch还可以在结果存储库中的该提交处获取标签并分离 HEAD 我试过 git clone branch
  • Git 将一个分支合并到所有其他分支中

    我知道这个问题已经在这里被问过 https stackoverflow com questions 2329716 merging changes from master into all branches using git https
  • 带有 git Remote 的 Gem 文件在 Heroku 推送上失败

    我的 gemfile 中有以下行 gem client side validations git gt email protected cdn cgi l email protection Dakuan client side valida
  • Git - 如何将整个目录恢复到特定提交(删除任何添加的文件)

    我想恢复 git 中的目录 恢复其中的所有文件 并删除自该提交以来添加的所有文件 进行结账似乎只能满足我的第一个要求 但不会删除任何文件 我想出了最简单的解决方案 git rm path to dir git checkout
  • Git 更改丢失 - 为什么?

    我们的开发团队正在使用 git 最近我们至少两次丢失了文件更改 我们正在使用私人 Github 存储库 在当前情况下 我们可以返回 Github 上的日志并查看我对文件所做的一些更新 后来 另一位团队成员更改了文件的不同部分 它似乎破坏了我
  • Git:从 master 以外的分支克隆

    我正在尝试从 Github 的存储库中提取数据 但我不想克隆主分支 我想克隆其他一些分支 当我尝试时git clone
  • 使用 gitignore 嵌套存储库。

    我想嵌套 2 个 git 存储库 我一直在阅读子模块 有一段时间我认为它很棒 我想我可能想要其他东西 这是我的情况 首先 我想我应该提到我的所有服务器都托管网站 并以 staging domain com 和 domain com 实时 模
  • 如何在不在存储库中的情况下执行 Git 命令?

    有没有一种方法可以在不位于存储库的情况下对存储库执行 Git 命令 例如这样的事情 git home repo log 请不要告诉我cd到它 我正在通过一个exec call Use C作为 git 的第一个参数 git C home re
  • git 推送到 github 失败并显示“错误:pack-objects 因信号 967 死亡”

    我触发了这个命令 git push origin master 我得到这个结果 Counting objects 15626 done Delta compression using up to 4 threads error pack o
  • 如何使用 git 比较不​​在存储库中的两个文件

    我想比较两个不在任何 git 存储库中的 css 文件 git中有这样的功能吗 git的 diff 比标准 Unix 更实用diff 我经常想这样做 并且由于这个问题在谷歌上排名很高 所以我希望这个答案出现 这个问题 如何使用git dif
  • 为 RHEL 6 安装/构建 git-svn

    我无权访问 RHEL6 存储库 那么在 RedHat Enterprise Linux 6 上构建和 或安装 git svn 工具的最佳方法是什么 通过卸载现有的 yum擦除git 并从源安装最新的来设法安装git和git svn 1 7

随机推荐

  • 使用 Google Static Maps API URL 渲染多边形

    我创建了一个脚本 通过将属性附加到静态地图 URL 来存储动态地图输入 以便我们可以在用户提交后引用它 由于我尚无法确定的原因 Polygon 根本不使用基本静态地图 URL 进行渲染 但它可以与第 3 方站点的静态地图功能配合使用 根据静
  • Google Sheets 查询删除标题不适用于偏移量

    无法弄清楚为什么其中一些查询有效而另一些则无效 只是想建立一个我自己的桌子 query TRANSPOSE ImportHtml C7 table 1 select limit 1 offset 1 query TRANSPOSE Impo
  • 使用逗号表示小数,使用句点表示千位 rdlc 报告

    我正在使用报告查看器控件 rdlc 来生成报告 我的其中一列表示来自 SQL 数据库的十进制值 例如 5199 9800 在此栏的末尾 对所有金额进行求和 因此 金额行的表示方式如下 Fields DEBIT Value 总行的表示方式如下
  • 在 Google 地图上显示 OpenStreetMap 边界(使用 v3 api)

    我想使用使用以下工具获得的 GeoJSON 数据在 Google 地图上显示城市边界 我访问 nominatim openstreetmap org 并搜索一个城市 例如丹佛 使用检索到的 OSM ID 在本例中为 253750 然后我使用
  • Angularjs - 如何对表单验证进行单元测试

    我在用着Jasmine http jasmine github io 对我的 Angular 应用程序进行单元测试 如何在我的控制器中测试表单验证 例如我有一个登录功能 scope login function if scope form
  • JavaFX 2.0 TabPane:选项卡位于左侧并保持选项卡标题水平

    我正在尝试为 Web 应用程序开发 GUI 并且想设置一个 TabPane 其中选项卡放置在左侧 保持选项卡标题水平 我已经找到了如何将选项卡放在左侧 但经过多次搜索后 我没有成功将标题设置为右对齐 它们仍然是垂直的并且难以阅读 我该如何解
  • Android Studio 项目视图中的重复文件

    我有一个奇怪的问题 项目特定的根级别文件 gitignore gradlew gradle properties 等 在 Android Studio 的项目视图中显示两次 有人知道如何解决这个问题吗 我尝试重新导入项目 删除 iml 和
  • 实体框架事务

    我有一个程序在两台服务器上重复运行 我需要在程序中选择和更新数据库记录 因此我需要来自EF的表锁或事务 否则程序的每个副本都可以选择和修改相同的记录 虽然第一个副本使数据库发生更改 但另一个副本不应运行相同的代码部分 我在 EF 中找到了
  • 有多少 Java 6 API 是由 Android 实现的?

    我想将一个小型开源AES加密类移植到Android上 如果Android的API尽可能接近Java 6 API 那么我的工作量会减少很多 实现了多少 或可参考 因为我尝试在谷歌上搜索这个内容 但我还没有想出任何有用的东西 恕我直言 一般来说
  • 代理下使用 HTTPClient 4.5 的 Resttemplate 连接超时

    如何设置超时时间 我已经设置了几乎所有的超时配置 通常没有代理就可以正常工作 当我使用代理连接详细信息进行连接时 会出现问题 日志显示正在连接 但未收到回复 2020 03 04 19 53 39 751 DEBUG main org sp
  • Bash:如何从参数设置变量并使用默认值

    很明显 使用 shell 脚本可以通过多种方式完成这类事情 比大多数编程语言都多 因为有各种不同的变量扩展方法和程序 例如test and and etc 现在我只是在寻找 DIR 1 or 这意味着 我的 DIR 变量应该包含第一个参数中
  • Android 弹出窗口不填满屏幕尺寸?

    I am trying to make a simple pop up window But every time I make one it ends up being super small and not the length I w
  • 如何使用 CodeIgniter 设置日期格式

    我试图弄清楚我在这里做错了什么 我想要格式化date published我的查询中的字段 我得到了t string syntax error在我的 IDE 中 this gt db gt select site news articles
  • eclipse intellij 可以将 Github 用于同一项目

    是否可以在 GitHub 中创建一个项目 并且使用 Eclipse 和 Intellij 等不同 IDE 的两个团队可以使用 github 配置项目并可以同时在同一个项目上工作 我已经搜索过但无法找到正确的解决方案 是的 您甚至可以版本 y
  • 较大图像文件中的质量更好的缩略图

    我将其他网站的图像显示为缩略图 为此 我将它们显示在较小的 img 标签中 以便浏览器减小尺寸 问题是这些图像的质量 我无法控制 下降了 而且它们在 FF 和 Safari 中看起来比在 IE 中好得多 有没有办法让这些图像看起来更好而不将
  • 组合 .csv 并将文件名添加为列

    这是我的担忧 我有一个包含多个 csv 文件的文件夹 我想将它们组合 合并到一个 csv 文件中 但我需要将每个 csv 的文件名添加为 csv 本身的一列 以便我可以知道哪个条目来自合并文件中的哪个 csv 文件 我没有编码经验 但是我在
  • 如何随机选择地球表面的一个点?

    正如标题所说 如何无偏差地随机选择地球表面的一个坐标 执行 rand 90 90 rand 180 180 的简单解决方案将有利于极地地区而不是赤道地区 听起来您正在寻找球体上的均匀随机分布 http mathproofs blogspot
  • 在页面之间来回发送 PHP 变量

    我创建了一个注册表单 它成功地将其变量从注册页面 go gold php 传递到摘要 验证页面 go gold summary php 数据正确显示在第二页上 但是 我希望能够使用图像按钮返回到注册页面 以防用户输入错误 返回 原始表单现在
  • 如何克服Excel中超链接的限制?

    我有超过 100000 个单元格的链接列表 我必须为所有这些内容提供超链接 但在 Excel 中存在限制65530 https support microsoft com en us office excel specifications
  • 未暂存的更改将文件显示为已删除,即使该文件存在

    我的存储库中的一个文件让我非常头疼 git status在 未暂存提交的更改 下将其显示为 已删除 并且还在 未跟踪的文件 下显示完全相同的文件 该文件肯定存在于我的磁盘上以及远程存储库上 如果我删除该文件 未跟踪的文件 中的条目就会消失