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所作的修改
所以,使用这个需要慎重
一般我们使用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所作的修改
所以,使用这个需要慎重
相关文章推荐
- Git往远程push前修改commit信息
- Git往远程push前修改commit信息
- git commit --amend 修改还未提交到远程分支的 commit 信息
- git commit –amend 修改还未提交到远程分支的 commit 信息
- Git 修改本地和远程的commit的作者信息
- 关于GIT commit两次之后出现push代码到远程库不能成功的问题
- 日常使用中的git操作,有关key生成,冲突处理,修改远程仓库,强制push到远程等
- git撤销已经push到远程的commit
- git 撤回已经push到远程仓库的修改
- Git撤销已经推送(push)至远端仓库的提交(commit)信息
- git操作 --- 删除commit后 push的记录,远程历史记录中不会保留该commit操作
- 修改git commit信息中的author
- git修改已经提交的commit信息
- Git撤销git commit 但是未git push的修改
- git 修改commit信息
- 使用git命令修改指定的commit提交记录并提交到远程服务器的方法
- 修改git commit 最后一次提交的注释信息 以及如何退出git bash vim编辑器
- Git撤销git commit 但是未git push的修改
- git: clone、checkout、多个 ssh key、 修改commit信息(--amend)
- Git撤销git commit 但是未git push的修改