首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Git去远程push前修改commit信息

2012-06-28 
Git往远程push前修改commit信息一般我们使用git来开发都会有2个仓库:本地仓库和远程仓库在我们本地修改代

Git往远程push前修改commit信息

一般我们使用git来开发都会有2个仓库:本地仓库和远程仓库
在我们本地修改代码后,会首先commit到本地的仓库里
当最终本地代码测试没问题后,才会用git push命令提交到远程仓库中

如果用默认的直接push,会把本地的所有的commit日志都会给push到远程
有时我们本地的很多commit信息都没有太大意义
只想往远程push一条commit信息
那么可以使用下面的命令:
git rebase -i origin/master

它允许你在push到远程之前来编辑自己的commit信息:


pick 9135aeb v2
pick c0ef644 v3

# Rebase 036a847..c0ef644 onto 036a847
#
# Commands:
#??p, pick = use commit
#??e, edit = use commit, but stop for amending
#??s, squash = use commit, but meld into previous commit
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.



如上,本地有两条commit信息v2和v3
我们可以直接把v3对应的pick给修改成squash


pick 9135aeb v2
squash c0ef644 v3



这样我们就可以合并这2个commit信息到一条上了
然后,我们再执行下面的push就可以了
git push

rebase中的edit命令代表是rebase到对应的commit后停止
然后等待修改对应的文件后,再使用
git rebase –continue
来继续rebase的操作

另外:在rebase -i 时也可以直接删除对应行的commit信息
但这样做就会丢失那次commit所作的修改
所以,使用这个需要慎重

热点排行