VScode、WSL、Ruby、提交时标记为已更改的文件

8fq7wneg  于 12个月前  发布在  Ruby
关注(0)|答案(1)|浏览(97)

我正在为Ruby的WSL上运行VScode。每次提交时,有8个文件被标记为已更改,但当我尝试比较它们时,看不到任何更改。我的兄弟,我的老板,认为VScode正在修改这些文件的权限,这让他很担心。
这8个文件是:

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   bin/bundle
        modified:   bin/dev
        modified:   bin/rails
        modified:   bin/rake
        modified:   bin/rubocop
        modified:   bin/rubycritic
        modified:   bin/setup
        modified:   release-tasks.sh

我绝对不想更改这些文件。我的角色是专注于CSS和前端视图。
问题是
A)有没有办法知道这些变化是什么?B)有没有办法防止VScode将它们标记为已更改,或者更好的是,不更改它们?
编辑2309071405
下面是对一条评论的回应,这是git diff的结果。这似乎是许可。

fleetwoodn@DESKTOP-GSMDGGD:~/MyChange2$ git diff
diff --git a/bin/bundle b/bin/bundle
old mode 100755
new mode 100644
index b6d1327..156453a
--- a/bin/bundle
+++ b/bin/bundle
@@ -1,124 +1,124 @@
-#!/usr/bin/env ruby
-# frozen_string_literal: true
-
-#
:
deyfvvtc

deyfvvtc1#

看起来VSCode确实在更改您提到的文件的权限。您提供的git diff输出显示文件bin/bundle已从模式100755更改为模式100644。这意味着文件的权限已从可执行更改为只读。
您可以将以下行添加到.gitignore文件中,以防止VSCode更改您提到的文件的权限:

bin/*

另一种防止VSCode更改这些文件的权限的方法是使用gitattributes文件。gitattributes文件是一个指定文件属性的文件,例如文件的权限。您可以将以下行添加到gitattributes文件中,以防止VSCode更改您提到的文件的权限:

* -executable

最后,您还可以在VSCode中禁用文件监视器。文件监视器负责检测文件的更改并更新Git状态。要禁用文件监视器,请打开VSCode设置并搜索“文件监视器”。然后,取消选中“启用文件监视器”旁边的复选框。
一旦你采取了其中一个步骤,VSCode就不应该再更改你提到的文件的权限。

相关问题