您的位置:首页 > 其它

Git往远程push前修改commit信息

2013-02-15 15:07 495 查看
http://www.tech126.com/git-modify-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所作的修改

所以,使用这个需要慎重
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: