git实战总结-----在一系列提交中修改一个特定的commit

来源:互联网 发布:世界杯知乎 编辑:程序博客网 时间:2024/06/14 06:21

如何修改你已经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

0 0
原创粉丝点击