我一直在寻找这个,我没有找到明确的理解。
我有一个新分支,并在该分支上进行了更改。然后我提交了这些更改,但我忘了在该提交上添加文件。 所以我的问题是如何将文件添加到空提交中?
我做了什么:
git commit -m "this is my first commit"
git status
modified: myFile.js
所以现在我有空commit
,我需要将更改myFile.js
添加到commit
。
我该怎么办?
答案 0 :(得分:3)
您可以通过使用--amend标志重新运行git commit
命令来更新您的提交,即:
git commit -m "this is my first commit" --amend
但是,仅当您尚未将更改推送到服务器时,这才是有效的操作。如果您推送更改,则应用上述命令会冒与原始提交同步的其他风险。
答案 1 :(得分:1)
如果你没有在提交中添加任何文件,你确定你创建了一个"空"提交?
尝试运行git log
以查看是否实际创建了提交。
答案 2 :(得分:0)
您可以通过修改将修改后的文件添加到第一次提交中。
git add myFile.js
git commit --amend
您可以通过执行来暂存文件
git add -p
添加对已跟踪文件的修改并选择所需的修改(即使在文件中)。
或git add -u
暂存所有跟踪的文件
或git add <first_filepath> <second_filepath> ...
还有其他一些命令,例如你可以查看there
答案 3 :(得分:0)
首先,您没有空提交。
如果您没有先添加,则第一次提交不会成功完成。
第二,当没有要提交的内容时,“ git commit
”给出的输出类似于“ git status
”,但不遵守advise.statusHints
配置变量,该变量已在Git 2.25中进行了更正。 1(2020年2月)。
请参见commit 5c4f55f的Heba Waly (HebaWaly
)(2019年12月17日)。
(由Junio C Hamano -- gitster
--在commit 9403e5d中合并,2020年1月22日)
时应兑现
commit
:在拒绝空提交advice.statusHints
签名人:Heba Waly
在ea9882b(
commit
:在写入COMMIT_EDITMSG,
2013-09-12,Git v1.8.5-rc0时禁用状态提示)的目的是在写入时禁用状态提示COMMIT_EDITMSG,
,因为像提交消息模板中的输出那样在“git status
”中给出提示已经为时已晚而无用(他们说“例如“'git add
”登台”,但这仅在中止当前的“git commit
”会话之后才可以。)但是在一种情况下,提示可能很有用:由于索引中未记录任何更改而拒绝了当前的提交尝试。
该消息已给出,并且出现“
git commit
”错误,因此用户可以立即遵循提示。教导代码路径以遵循配置变量。
这意味着如果您尝试提交一个空的提交,您现在将看到:
no changes added to commit (use "git add" and/or "git commit -a")