进一步开发后,我需要为之前的提交添加其他更改。
我做了很多改动,包括来自IDE,处理文件重命名,创建新文件等等。
所以git status
在暂存区域显示了很多文件。
我不想使用git commit --amend --no-message
添加此文件。
我可以将这些文件列为git commit --amend --no-message
的参数吗?没有令人不安的指数的任何其他可能性?
我认为存储索引 - 但列出40个文件而不是2个文件进行修改是很复杂的事情....
答案 0 :(得分:1)
大多数IDE都将临时区域反映为真正的Git操作。 (我正在使用VS Code,它确实如此。)因此,首先使用以下内容取消所有文件:
git reset .
然后,通过git add
或IDE按钮设置要暂存的文件。文件应该有一个加号按钮,具体取决于IDE界面。
最后,执行git commit --amend --no-message
。语义应该与普通提交相同。
如果您无法弄清楚如何执行上述操作,那么执行交互式rebase来压缩提交也会有所帮助。见How to modify existing, unpushed commits?
答案 1 :(得分:0)
经过实验,我发现了一个简单明了的解决方案:
$ echo x >> file1
$ echo x >> file2
$ echo y >> fileZZZ
(1)$ git add .
(2)$ git ci -m fix file1
(3)$ git commit --no-edit --amend file2
在(1)
我填写索引。在(2)
,我提交了必要的文件,将所有其他文件(file2
和fileZZZ
)保留在索引中,(3)
我添加了file2
次修复fileZZZ
在索引中。
可以使用Git,就像没有临时区域一样。