让我们说,我在master分支中有以下提交。
-> step-4
-> step-3
-> step-2
-> step-1
-> step-0
然后我通过git checkout <step-0-sha>
暂时切换到第0步。
现在我想要的是向该提交添加一个文件newfile.txt
。我看到了关于变形和樱桃采摘的其他问题,但这并没有解决问题。
这里的问题是这个newfile.txt
(以及其他一些文件)已经在其他提交(步骤)中提交。但我也希望在step-0
提交。
答案 0 :(得分:1)
您可以使用这些命令来满足您的要求:
git checkout <commit for step-0>
touch newfile.txt
git add .
git commit --amend -am 'info'
git rebase --onto HEAD <commit for step-0> master
git rebase -i master~5
输入 i 将pick <commit for step-0>
更改为edit <commit for step-0>
,然后输入 Esc 和:wq
。
在rebase期间:
touch newfile.txt
git add .
git commit --amend
git rebase --continue