如何修改你已经commit的一个提交?
比如
HEAD
commit3
commit2
commit1(需要修改这个提交)
commit0(db7661ce4cb459da594a947977d0a86d14d40693)
我上网查找并结合自己实际检验,方法如下:
1.先git rebase到要修改的commit之前那个commit
git rebase --interactive 'db7661ce4cb459da594a947977d0a86d14d40693'
2.在默认的编辑器中,把你想修改的commit的标签从pick修改成edit。然后做如下操作
git commit --all --amend --no-edit
3.git log检查当前的commit是不是你要修改的commit
修改你的提交,并修改这个commit
我事先有把相关修改使用git stash隐藏起来
这样我就可以用git stash pop 恢复我的修改
然后
git status
git add *
git commit --amend
修改特定的提交。
再
git rebase --continue
git log
git rebase --continue
git log
如果有必要再推送到指定的提交上。
git push origin 0d163929c2407b00a8c16b745b520d07b854c207:refs/changes/857344
要拆分一个commit的方法如下:
1. git rebase -i <targetCommit>~1 : 回到拆分点,用edit来表示需要更改
2. git reset --mixed HEAD~1 : 将这个targetCommit的改动放回working directory, object store 和 index都还原成这个commit尚未放入的状态
3. 重新commit
4. git rebase --continue
======================================================================
Please help to revert one QC change we don't need. You could add this revert in between last QC change and first XXX change. If you do revert on top of your rebase result, revert will fail.
git co qc/AU_LINUX_ANDROID_LA.UM.6.5.R1.07.00.00.312.015
git revert dd664d3bb2f18799e36c9ccd5335856f9b074260
git rebase -i --autosquash --onto HEAD qc/AU_LINUX_ANDROID_LA.UM.6.5.R1.07.00.00.312.015 origin/sandbox/wangxf14/qc_AU_LINUX_ANDROID_LA.UM.6.5.R1.07.00.00.312.015_rebase