Git 提交未添加的本地更改 - 我怎样才能阻止它?
Git commits local changes which are not added - how can I stop this?
我是 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 的新手,在本地使用 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>
.