Git 提交未添加的本地更改 - 我怎样才能阻止这种情况?

标签 git commit

我是 Git 新手,在本地使用 Git Bash。我在提交时遇到问题。 据我所知,只有在通过 add 暂存更改后才会提交更改(除非您使用 commit -a)。但相比之下,我面临以下场景:

我添加一个文件test.txt:git add test.txt

之后,我在本地对此文件进行了一些更改,而无需进一步添加。 git status 向我显示 - 仍然如预期 - 要提交的更改和未暂存提交的更改。

到目前为止一切顺利,但现在变得令人恼火:我执行了 git commit -m "commit only staged Changes"test.txt 但结果是,我的本地更改也被提交了。 另外,git status现在只说“没有什么可提交的,工作树干净”。

任何人都可以向我解释一下,需要做什么才能只提交分阶段的更改(我实际上理解为默认行为......)? 预先非常感谢!

最佳答案

当您给出特定的文件名时,如

git commit [options] test.txt

然后 git 将放弃其默认行为,并立即提交对该文件的所有更改。在此模式下,它不会提交您已经暂存的其他更改。

如果您只想提交暂存的更改,只需省略文件名即可。

git commit [options]

请注意,无法仅提交对单个文件的暂存更改,同时跳过对同一文件的未暂存更改和对其他文件的暂存更改。您可以提交所有暂存的更改(无论它们位于什么文件中),也可以将所有更改(暂存或未暂存)提交到一个或多个文件。但是,您可以在提交之前取消暂存对其他文件的更改,使用 git restore <filename> (如果您的 Git 版本足够新)或 git reset <filename> .

关于Git 提交未添加的本地更改 - 我怎样才能阻止这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62622625/

相关文章:

git - 我们如何验证推送的提交消息?

svn - 在 Unix 机器上具有相同登录凭据的多个 SVN 用户

git - 如何更新 repo 版本

python - 不推荐使用全局/系统 git-review 配置文件 (git-review.conf)

git - 这个绿色图标在 github 存储库中意味着什么?

Gitkraken 桌面应用程序 - 错误登录 : "Please log in to continue"

git - 将 stash 应用到不同的分支

git - 如何检测文本中的 Git SHA ID

mercurial - 如何检测提交是否可推送

eclipse - SVN:不能提交 'x'和 'y',因为它们引用相同的URL?