&引用;git commit--amend-c<;承诺>&引用;不保存更改
我有一堆git提交需要修改。我还没有推过任何一个,我只是在做:&引用;git commit--amend-c<;承诺>&引用;不保存更改,git,bash,Git,Bash,我有一堆git提交需要修改。我还没有推过任何一个,我只是在做: git add . git commit -m "message 1" git add . git commit -m "message 2" git add . git commit -m "message 3" git add . git commit -m "message 4" 现在,我正在尝试为所有这些提交添加一行 我以为你会这样做: 1)获取提交编号: 2)执行“git提交——修改-c[提交编号]” 3)当出现编辑器时
git add .
git commit -m "message 1"
git add .
git commit -m "message 2"
git add .
git commit -m "message 3"
git add .
git commit -m "message 4"
现在,我正在尝试为所有这些提交添加一行
我以为你会这样做:
1)获取提交编号:
2)执行“git提交——修改-c[提交编号]”
3)当出现编辑器时,我键入“I”进行插入,然后向消息中添加一些文本,然后键入“:wq”进行保存并退出
但是编辑器没有保存我对提交消息所做的更改我做了“git日志”,消息看起来还是一样的!尽管我把它改成了“信息1更多文本”,它仍然写着“信息1”
当我为同一个命令重新运行“git commit--amend…”时,它仍然显示“message1”,而且。。。所以看起来它完全没有效果
我做错了什么?我有正确的“权限”写入文件:(您不能更改现有的提交。这是不可能的 git commit--amend实际上做的是,它创建了一个新的commit,它是最新commit(也称为HEAD)的副本,包含您指定的更改 然后,这个新的提交将替换您当前的头
-c
参数指定要从中复制消息并在编辑器中编辑的另一个提交。它不会以任何方式影响该其他提交
若要执行您真正想要执行的操作,请参见您不能更改现有的提交。这是不可能的 git commit--amend实际上做的是,它创建了一个新的commit,它是最新commit(也称为HEAD)的副本,包含您指定的更改 然后,这个新的提交将替换您当前的头
-c
参数指定要从中复制消息并在编辑器中编辑的另一个提交。它不会以任何方式影响该其他提交
要想做你真正想做的事,请看噢!该死,这太糟糕了。谢谢你把这件事弄清楚!看!该死,这太糟糕了。谢谢你把这件事弄清楚了!^^^^@Kayvar:see我想你想要
git-rebase-I HEAD~5
…我想你想要git-rebase-I HEAD~5
。。。
$] git log
commit 931824f116637cf0f4d7dea98828f9cdfc6b9157
Author: ...
Date: Tue Feb 4 17:30:19 2014 -0800
message 1
commit 726adac71a0d8fdac4f62663e6081f1e784e4805
Author: ...
Date: Tue Feb 4 16:25:17 2014 -0800
message 2
commit d8aab763f2d2603fb1935648f1ffe80e26039209
Author: ...
Date: Tue Feb 4 10:53:19 2014 -0800
message 3
commit 931824f116637cf0f4d7dea98828f9cdfc6b9157
Author: ...
Date: Tue Feb 4 17:30:19 2014 -0800
message 4
git commit --amend -c 931824f116637cf0f4d7dea98828f9cdfc6b9157
git commit --amend -c 726adac71a0d8fdac4f62663e6081f1e784e4805
git commit --amend -c d8aab763f2d2603fb1935648f1ffe80e26039209
git commit --amend -c 931824f116637cf0f4d7dea98828f9cdfc6b9157