首页 > 代码库 > git修改之前某一次的commit

git修改之前某一次的commit

 

一.git commit --amend

如果你对文件做了修改需要和上一次的修改合并为一个change

  1. git add .

  2. git commit --amend

如果你只是想修改上一次change的commt

  1. git commit --amend

二.git rebase -i HEAD~n

什么是git rebase --interactive (-i)

他会打开编辑器列出最近的几次change(从old -> new),并且左边包含可以进行的操作,如下图

技术分享

在commands里面包括了几个命令,简单介绍下

第一个 r : use commit, but edit the commit message 修改commit message

技术分享

保存退出后:

技术分享

保存退出后对应change的message就修改成功了

第二个 edit : use commit, but stop for amending

技术分享

保存退出后:

技术分享

 

 之后做的修改会基于这个commit,在

git add .

git commit --amend后会修改你刚才选中的change,修改完成后 git rebase --continue 回到最初的状态

第三个 squash use commit, but meld into previous commit ,将这个change合并到上一次change中,并且会保留这个change的message

第四个 fixup 和squash一样,但是不会保留change的message

第五个 不知道

 

git修改之前某一次的commit