Git往遠程push前修改commit信息

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所作的修改
所以,使用這個需要慎重

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章