当前位置: 首页 > 知识库问答 >
问题:

在 PhpStorm 中修改文件会导致 Git 将文件视为“已修改”,即使在撤消更改后也是如此

鲍鸿波
2023-03-14

似乎当我在PhpStorm中修改一个属于git项目的文件时,它会将该文件标记为已修改,即使所有的更改都已恢复(或者通过手动撤销它们)。这似乎是PhpStorm特有的,即使我在PhpStorm中禁用了项目的VCS,也会发生这种情况。

很明显,PhpStorm 正在幕后做一些事情,这就是我试图弄清楚的。

我已经根据索引和行尾外部检查了工作树,一切都精确到文件的 mtime 和 ctime。我附上了两个屏幕截图,第一个是在PhpStorm中进行更改并撤消它,第二个是通过Visual Studio Code。我标记了进行更改的点 (1) 并还原了更改 (2)。我也尝试使用 git diff 来尝试找出 Git 认为的不同之处,但它每次都没有提出任何结果。

当我通过PhpStom进行不是通过VSCode发生的更改时,有人能建议正在使用什么Git功能(如果有的话)吗?或者可能是一种方法来弄清楚为什么Git认为文件已经被html" target="_blank">修改,尽管所有更改都通过PhpStom恢复。

PhpStorm论坛上的交叉帖子:

https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000590464-Modifying-a-file-in-PHPStorm-causes-Git-to-consider-a-file-as-Modified-even-after-undoing-the-changes

共有1个答案

宰修能
2023-03-14

通过使用命令git状态-vv,每当我使用PHPStom时,我都能够看到文件的权限正在更改。由于PHPStom中的安全写入设置,权限发生了变化。一旦我禁用了它,一切都按预期工作。

此外,我之前在运行命令 git ls-files --eol --stage --debug app/socrates/ajaxphp/ajaxFUChangeStatus.php 时误解了 mtime 和 ctime 的重要性。运行该命令时,它仅显示缓存文件的 ctime 和 mtime(即:git 索引/暂存文件)。Git 将这些值与统计结果进行比较

 类似资料:
  • 问题内容: 我有一个XML文档,在它已经包含数据之后,我想对其进行更新。 我考虑过要在(附加)模式下打开XML文件。问题在于新数据将在根结束标记之后写入。 如何删除文件的最后一行,然后从该点开始写入数据,然后关闭根标签? 当然,我可以读取整个文件并进行一些字符串操作,但是我认为这不是最好的主意。 谢谢你的时间。 问题答案: 您绝对 不应该做 的快速简便的方法(请参阅下文)是使用来将整个文件读入字符

  • 我有一个用 PhpStorm 管理的 TypeScript 项目。所有 ts 文件都被正确识别为打字稿文件,在我的文件类型设置中,我有 文件映射打字稿。 所有的文件?不,一个文件顽固地不会被视为TypeScript文件,而是显示为纯文本。我不知道如何将这个标记为TypeScript文件。 所有<code>*。ts文件旁边有正确的ts图标。这个没有。 当我打开流氓文件时,PhpStom告诉我有该文件

  • 问题内容: 我想我的调用或当我指定一个文件被修改浏览器。修改文件后,我该如何“观看”该文件以执行某些操作? 以编程方式看来,这些步骤是..基本上每秒设置一个永无休止的间隔,并缓存初始修改日期,然后每当更改一次调用X时便比较该日期。 问题答案: 如前所述,您可以使用pyinotify: 例如: 这比轮询更有效。内核会告诉您何时进行操作,而无需您不断询问。

  • 问题内容: 环顾四周,但找不到一个示例。没有解释文档,我无法弄清楚。 如何修改文件(例如,README.md),为修改后的文件创建提交,然后将提交推送到服务器? Nodegit:http ://www.nodegit.org/ Nodegit文档:http ://www.nodegit.org/nodegit 问题答案: 有一个示例,说明如何在其存储库上创建/添加和提交,可以帮助您修改文件。 ht

  • 7.1.3.修改Manifest文件 无论何时,只要新建了基本构件(Activity,Service,BroadcastReceiver,ContentProvider)就要修改Manifest文件,添加相应的声明。在这里,我们需要将PrefsActivity注册到Manifest文件。 同前面一样,在Eclipse中打开XML文件会默认进入Eclipse提供的图形化编辑界面。选择Applicat

  • 问题内容: 我正在使用Python,并且想在不删除或复制文件的情况下将字符串插入文本文件。我怎样才能做到这一点? 问题答案: 取决于你要做什么。要附加,可以用打开它: 如果要先添加某些内容,则必须先从文件中读取: