VS Code - git 存储库有太多活动更改,将仅启用 Git 功能的子集
VS Code - The git repository has too many active changes, only a subset of Git features will be enabled
我正在设置 VS Code 以处理保存在 BitBucket 中的现有 Salesforce 项目。
我将存储库克隆到我的设备上,现在当我打开 VS Code 时,我收到消息“'C:\Users[my repository directory]' 的 git 存储库有太多活动更改,只有 Git 功能将被启用。
当我转到左侧菜单中的 Git 时,它说我有 5000 个分阶段更改,并且似乎认为这些更改是我删除了文件,即使我去时可以看到它们文件路径我自己。
建议?
Visual Studio代码详情:
版本:1.42.0(用户设置)
提交:ae08d5460b5a45169385ff3fd44208f431992451
日期:2020-02-06T10:51:34.058Z
电子:6.1.6
Chrome:76.0.3809.146
Node.js:12.4.0
V8:7.6.303.31-电子.0
OS: Windows_NT x64 10.0.18362
检查 git ls-files --eol
(Git 2.8+) 这是否是一个停产问题。
如果是,那么:
- 类型 git 配置 --global core.autocrlf false
- 重新克隆您的存储库
- 检查问题是否在 VSCode
上仍然存在
好吧,看来这与换行符有关!感谢您的指导!
我删除了本地文件,更新了全局配置设置以将 autocrlf
设置为 false(最后我不得不将另一个全局配置设置 core.longpaths
也更改为 true)。然后我重新克隆,现在一切正常!
我很想了解这里的机制---我假设 autocrlf
设置获取远程文件并编辑所有换行符以使其与您的方式匹配 OS 换行。
所以既然 git 一直认为我删除了所有文件(并且 ls-files 什么也没返回),这是否意味着在克隆过程中有一些文件以这种方式被更改所以 git 不知道我的文件在哪里?如果是这样,这应该是哪个文件?
问题是,如果您进行大量更改,vs code 需要一些时间。
当您手动删除文件或将文件添加到存储库时,通常会发生这种情况。
首先,
- 提交前不要同步。
- 如果您在 "the source control tab" 上看到时钟图标,请稍等。因为你不能在那个图标消失之前提交。
- 如果您尝试同步,它就会进入循环。
从字面上看,解决方案是等待查看源代码管理选项卡上的更改数量。然后提交并同步。
幸运的是,我的决定很简单。我在复制项目时不小心删除了 .gitignore
,恢复该文件后问题就解决了。
我的情况是,通过更改我打开 VS Code 的方式解决了这个问题。
当我将项目文件夹拖到刚刚打开的 VS Code window 中时,出现“太多活动更改”消息,可能是 VS Code 将当前项目解释为上一个收费项目。
相反,当我转到项目文件夹并放入“打开方式”和 select VS Code 时,问题就消失了。
我是 运行 一个外部工具,当我在 CODE 中打开项目时,它可以快速进行大量更改,这发生了。唯一修复它的方法是将整个存储库重新克隆到一个新目录。
始终保留 .gitattributes 和 .gitignore 文件以避免此类问题
我遇到了同样的问题,并找到了一个具有非常直接解决方案的帖子。
问题是我克隆了一个存储库,但没有 .gitignore
文件。
- 我只是将
.gitignore
文件添加到根文件夹,
- 将
node_modules
写入其中,
- 已保存,问题消失。
这里是线程的link:https://forum.freecodecamp.org/t/vs-code-has-5000-files-that-need-to-be-commit/250686/5
我参与的其他项目的 .gitignore
文件中也有这一行,所以我想这是一个标准。此外,它确实有意义,因为作为开发人员,我们不想将所有节点模块上传并下载到 git,而是使用 package.json 文件来共享有关我们需要在哪些模块上工作的信息特定项目。
请尝试一下并将其标记为正确的解决方案,因为其他“解决方法”可能无法解决缺少 .gitignore
文件且其中包含 node_modules
的问题。
我的解决方法是简单地禁用 git 扩展。
这个问题我遇到过很多次了。解决方案是确保您正确打开项目。例如,我有一个名为后端的地图,在该地图中我有另一个名为项目的地图(这是我的克隆项目)。当我打开 vscode 时,我直接打开地图“项目”而不是“后端”。
老实说,在 VSCode 中禁用 github 扩展不会解决您的问题。
**检查 package.json 文件,看看是什么“依赖项”导致了过载 **
例子
简直npm uninstall "parcel"
这将允许其中一些节点模块清理。
**如果您仍然想简单地添加节点模块&&其他大型包:**
- 创建
.gitignore
.text 或使用新建文件按钮
- 键入
\{enter file name}
,它会自动将所有子文件添加到 .gitignore
- git commit -m "" 然后你就完成了
您可能从当前文件夹中 DELETED 个项目,而 git 没有注册删除。
最简单的解决方案是创建一个新文件夹并在其中启动 运行 VSCode。
您可以删除整个旧文件夹,也可以不理会它。由你决定。
我通过退出 VS Code 并使用命令行/终端添加、提交然后推送文件解决了我的类似问题。
只是添加我自己导致这个问题的愚蠢原因,以防它帮助另一个...
我从 GitHub 克隆了一个存储库,然后在同一文件夹中创建了一个 python 环境(“env”)以安装要求。当然是我的“env”文件夹中的所有新文件导致 VScode 抱怨太多更改。将“env”添加到项目的 .gitignore 解决了这个问题。
另一种解释,尚未列出,如果有两点是真的,可能会对您有所帮助
- 您在文件夹层次结构中有一个您不知道的
.git
文件夹
- 您在 VS 代码中处理的项目 没有 有自己的 .git 文件夹
第2点很容易验证
关于第1点,您需要在受影响的项目目录下在终端中写入以下内容:
git rev-parse --show-toplevel
此命令搜索文件目录树中更高层的 .git 文件夹,它将 return 第一个遇到的 git 存储库的位置。这意味着您要么会收到致命的未找到消息,要么会收到一条路径。
转到该目录并删除.git 文件夹(在检查日志以确保不会丢失信息后),然后在您的项目目录中创建一个.git 文件夹。
所以在我的情况下发生了什么,我打开 GitBash 并输入 git init
来初始化一个 repo 但是,实际发生的是我的 C 驱动器整个文件夹 被制作了repo,这就是为什么它显示检测到 10000 个更改以还原更改或丢弃,删除目录:
- 打开gitbash
- 在上面输入
rm -rf .git
然后回车
- 此命令将删除该存储库,不会删除任何文件,可以安全使用
- 创建要推送的新仓库
以下是可能原因的总结,来自之前对此问题的回答post:
缺少 .git忽略文件
.git 中缺少条目,忽略不应提交到 git 的文件或文件夹。
您只是进行了大量手动更改,或者您使用了外部工具来完成这些更改。 VsCode 需要一些时间来处理更改。
您的 .git 文件夹在文件夹层次结构中的位置高于应有的位置。
您只需打开要处理的项目,而不是父项目。
尝试使用终端或 GUI 打开项目,而不是将项目文件夹拖到 VsCode。
检查您是否在错误的位置执行了“git init”,尤其是在项目的父文件夹中。
一个停产问题。输入:“git ls-files --eol”(Git 2.8+)。如果是,那么:
type: git config --global core.autocrlf false
re-clone your repository
check if the issue persists on VSCode
遇到了完全相同的问题。
在 vscode 中右键单击开源控制面板顶部的“源代码控制”,然后确保“源代码控制”已 selected。
打开源控制面板顶部旁边的下拉菜单“源控制存储库”,右键单击设置不正确的存储库,然后select“关闭存储库”。
Here is a visual of the answer
遇到了完全相同的问题。
在 vscode 中右键单击开源控制面板顶部的“源代码控制”,然后确保“源代码控制”已 selected。
打开源控制面板顶部旁边的下拉菜单“源控制存储库”,右键单击设置不正确的存储库,然后select“关闭存储库”。
Here is a visual of the answer
- 在 vs 代码中创建一个 .gitignore 文件
- 在该文件中写入 node_modules
我正在设置 VS Code 以处理保存在 BitBucket 中的现有 Salesforce 项目。
我将存储库克隆到我的设备上,现在当我打开 VS Code 时,我收到消息“'C:\Users[my repository directory]' 的 git 存储库有太多活动更改,只有 Git 功能将被启用。
当我转到左侧菜单中的 Git 时,它说我有 5000 个分阶段更改,并且似乎认为这些更改是我删除了文件,即使我去时可以看到它们文件路径我自己。
建议?
Visual Studio代码详情: 版本:1.42.0(用户设置) 提交:ae08d5460b5a45169385ff3fd44208f431992451 日期:2020-02-06T10:51:34.058Z 电子:6.1.6 Chrome:76.0.3809.146 Node.js:12.4.0 V8:7.6.303.31-电子.0 OS: Windows_NT x64 10.0.18362
检查 git ls-files --eol
(Git 2.8+) 这是否是一个停产问题。
如果是,那么:
- 类型 git 配置 --global core.autocrlf false
- 重新克隆您的存储库
- 检查问题是否在 VSCode 上仍然存在
好吧,看来这与换行符有关!感谢您的指导!
我删除了本地文件,更新了全局配置设置以将 autocrlf
设置为 false(最后我不得不将另一个全局配置设置 core.longpaths
也更改为 true)。然后我重新克隆,现在一切正常!
我很想了解这里的机制---我假设 autocrlf
设置获取远程文件并编辑所有换行符以使其与您的方式匹配 OS 换行。
所以既然 git 一直认为我删除了所有文件(并且 ls-files 什么也没返回),这是否意味着在克隆过程中有一些文件以这种方式被更改所以 git 不知道我的文件在哪里?如果是这样,这应该是哪个文件?
问题是,如果您进行大量更改,vs code 需要一些时间。 当您手动删除文件或将文件添加到存储库时,通常会发生这种情况。 首先,
- 提交前不要同步。
- 如果您在 "the source control tab" 上看到时钟图标,请稍等。因为你不能在那个图标消失之前提交。
- 如果您尝试同步,它就会进入循环。
从字面上看,解决方案是等待查看源代码管理选项卡上的更改数量。然后提交并同步。
幸运的是,我的决定很简单。我在复制项目时不小心删除了 .gitignore
,恢复该文件后问题就解决了。
我的情况是,通过更改我打开 VS Code 的方式解决了这个问题。
当我将项目文件夹拖到刚刚打开的 VS Code window 中时,出现“太多活动更改”消息,可能是 VS Code 将当前项目解释为上一个收费项目。
相反,当我转到项目文件夹并放入“打开方式”和 select VS Code 时,问题就消失了。
我是 运行 一个外部工具,当我在 CODE 中打开项目时,它可以快速进行大量更改,这发生了。唯一修复它的方法是将整个存储库重新克隆到一个新目录。
始终保留 .gitattributes 和 .gitignore 文件以避免此类问题
我遇到了同样的问题,并找到了一个具有非常直接解决方案的帖子。
问题是我克隆了一个存储库,但没有 .gitignore
文件。
- 我只是将
.gitignore
文件添加到根文件夹, - 将
node_modules
写入其中, - 已保存,问题消失。
这里是线程的link:https://forum.freecodecamp.org/t/vs-code-has-5000-files-that-need-to-be-commit/250686/5
我参与的其他项目的 .gitignore
文件中也有这一行,所以我想这是一个标准。此外,它确实有意义,因为作为开发人员,我们不想将所有节点模块上传并下载到 git,而是使用 package.json 文件来共享有关我们需要在哪些模块上工作的信息特定项目。
请尝试一下并将其标记为正确的解决方案,因为其他“解决方法”可能无法解决缺少 .gitignore
文件且其中包含 node_modules
的问题。
我的解决方法是简单地禁用 git 扩展。
这个问题我遇到过很多次了。解决方案是确保您正确打开项目。例如,我有一个名为后端的地图,在该地图中我有另一个名为项目的地图(这是我的克隆项目)。当我打开 vscode 时,我直接打开地图“项目”而不是“后端”。
老实说,在 VSCode 中禁用 github 扩展不会解决您的问题。
**检查 package.json 文件,看看是什么“依赖项”导致了过载 **
例子
简直npm uninstall "parcel"
这将允许其中一些节点模块清理。
**如果您仍然想简单地添加节点模块&&其他大型包:**
- 创建
.gitignore
.text 或使用新建文件按钮 - 键入
\{enter file name}
,它会自动将所有子文件添加到 .gitignore - git commit -m "" 然后你就完成了
您可能从当前文件夹中 DELETED 个项目,而 git 没有注册删除。
最简单的解决方案是创建一个新文件夹并在其中启动 运行 VSCode。
您可以删除整个旧文件夹,也可以不理会它。由你决定。
我通过退出 VS Code 并使用命令行/终端添加、提交然后推送文件解决了我的类似问题。
只是添加我自己导致这个问题的愚蠢原因,以防它帮助另一个...
我从 GitHub 克隆了一个存储库,然后在同一文件夹中创建了一个 python 环境(“env”)以安装要求。当然是我的“env”文件夹中的所有新文件导致 VScode 抱怨太多更改。将“env”添加到项目的 .gitignore 解决了这个问题。
另一种解释,尚未列出,如果有两点是真的,可能会对您有所帮助
- 您在文件夹层次结构中有一个您不知道的
.git
文件夹 - 您在 VS 代码中处理的项目 没有 有自己的 .git 文件夹
第2点很容易验证
关于第1点,您需要在受影响的项目目录下在终端中写入以下内容:
git rev-parse --show-toplevel
此命令搜索文件目录树中更高层的 .git 文件夹,它将 return 第一个遇到的 git 存储库的位置。这意味着您要么会收到致命的未找到消息,要么会收到一条路径。
转到该目录并删除.git 文件夹(在检查日志以确保不会丢失信息后),然后在您的项目目录中创建一个.git 文件夹。
所以在我的情况下发生了什么,我打开 GitBash 并输入 git init
来初始化一个 repo 但是,实际发生的是我的 C 驱动器整个文件夹 被制作了repo,这就是为什么它显示检测到 10000 个更改以还原更改或丢弃,删除目录:
- 打开gitbash
- 在上面输入
rm -rf .git
然后回车 - 此命令将删除该存储库,不会删除任何文件,可以安全使用
- 创建要推送的新仓库
以下是可能原因的总结,来自之前对此问题的回答post:
缺少 .git忽略文件
.git 中缺少条目,忽略不应提交到 git 的文件或文件夹。
您只是进行了大量手动更改,或者您使用了外部工具来完成这些更改。 VsCode 需要一些时间来处理更改。
您的 .git 文件夹在文件夹层次结构中的位置高于应有的位置。
您只需打开要处理的项目,而不是父项目。
尝试使用终端或 GUI 打开项目,而不是将项目文件夹拖到 VsCode。
检查您是否在错误的位置执行了“git init”,尤其是在项目的父文件夹中。
一个停产问题。输入:“git ls-files --eol”(Git 2.8+)。如果是,那么:
type: git config --global core.autocrlf false re-clone your repository check if the issue persists on VSCode
遇到了完全相同的问题。
在 vscode 中右键单击开源控制面板顶部的“源代码控制”,然后确保“源代码控制”已 selected。
打开源控制面板顶部旁边的下拉菜单“源控制存储库”,右键单击设置不正确的存储库,然后select“关闭存储库”。
Here is a visual of the answer
遇到了完全相同的问题。
在 vscode 中右键单击开源控制面板顶部的“源代码控制”,然后确保“源代码控制”已 selected。
打开源控制面板顶部旁边的下拉菜单“源控制存储库”,右键单击设置不正确的存储库,然后select“关闭存储库”。
Here is a visual of the answer
- 在 vs 代码中创建一个 .gitignore 文件
- 在该文件中写入 node_modules