git实战总结-----在一系列提交中修改一个特定的commit
2016-06-13 10:30
459 查看
如何修改你已经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
比如
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
相关文章推荐
- In-App Purchase iap 内付费 二次验证代码。
- 用扫描的方式实现Rosenfeld and Pfaltz提出的距离变换!
- Android绘制折线图、柱状图等
- 龙腾至尊
- VSL基础
- rank()over 函数的使用
- nginx反向代理(proxy_pass)tomcat的过程中,session失效的问题解决
- VII Python(3)基础知识(if、while、for、interator、generator、文件、pickle)
- C / C++ 随手笔记
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(14)----深度测试
- (hadoop学习-1)mapreduce实现数据过滤、聚合与排序
- Struts2入门示例
- 详细记录python的range()函数用法
- CAS原理
- PHP之——安装配置Xdebug模块详解
- 详解KMP算法
- 遇到的一个坑,记录一下
- Android 中Timer和TimeTask完成定时任务
- AIX下设置ASM的共享访问
- [TOP10]十大渗透测试演练系统