Visual Studio Git - 是否有设置可以防止提交未暂存的文件

Pav*_*hev 10 git visual-studio

在 Visual Studio Code 中,如果您尝试在没有暂存文件的情况下提交,则会出现警告。它警告您它将首先提交所有未暂存的文件,然后再提交它们。

在 Visual Studio(2017 及更高版本)中是否有类似的设置或方法可以执行相同的操作?

当您在不先暂存文件的情况下单击“提交”时,Visual Studio 2017 的默认行为是静默提交所有未暂存的文件,这会经常导致问题(意外提交)。

在“设置”=>“源代码控制”下,我只看到“插件选择”,没有其他选项。

Ale*_*dar 24

当询问我是否要提交未暂存的文件时,我不小心单击了“始终”。

我开始寻找一种方法来撤消“始终”的选择,所以我找到了这个线程。

无论如何,解决方案如下:在 VSCode 设置中查找“Git:启用智能提交”并取消选中它(设置为falsevs code git smart commit - 始终提交未暂存的更改


Von*_*onC 2

2019:Visual Studio 中没有设置,如本 VSCode 问题中所述

在 Visual Studio 的情况下,当没有分阶段更改,但有一些更改时,提交按钮的内容为“Commit All”。因此,即使没有暂存任何更改,用户也可以知道所有更改都将被提交。

最新的 2019 年发行说明没有显示这方面的任何演变,因此目前似乎没有任何设置(如 VSCode 中的设置)

考虑到文档,这似乎是一个错误:

当您创建提交时,Git 不会自动将更改的文件添加到快照中。
您必须首先暂存更改,以便让 Git 知道您想要将哪些更新添加到下一次提交。暂存允许您有选择地将文件添加到提交,同时排除其他文件中所做的更改。


然而,同一个问题 15613引用了VSCode 1.13 commit b31c1e1,其中显示:

            if (pick === always) {
                config.update('enableSmartCommit', true, true);
            } else if (pick !== yes) {
                return false; // do not commit on cancel
Run Code Online (Sandbox Code Playgroud)

因此,正如Aleksandar回答所示,启用智能提交会有所帮助。

唯一的问题:问题 91472问题 51721:您需要避免在提交正在进行时暂存文件。


2023 更新:问题 51721已解决

现在这个问题已经得到解决,因为 git 扩展提供的大多数命令在提交操作运行时都被禁用。
提交输入字段也是如此。

适用于 VSCode 1.75(2023 年 1 月)或当今的VSCode 内部人员