重命名commit
前提:不要對任何已經提交到公共倉庫中的commit進行修改(你自己一個人玩的分支除外)想要修改commit的名字,可分修改最近一次的commit,和之前的某次commit。
用到的命名分別為:
git commit --amend git rebase -i [start point] [endpoint]
1.重命名最新的commit
概述 命名分支最新commit,主要使用到git commit --amend -m 'new_message'命令。(這里的new message用單引號 雙引號都可以)。如下圖所示。
注意:git commit --amend -m 'new_message'命令相當于撤銷之前的提交,然后攜帶新的信息進行一次新的提交,所以重命名后,該節(jié)點的id會發(fā)生變化。
2. 重命名歷史commit
場景 假如我覺得之前提交的commit中有不妥的,想要重命名。又分第一個commit和中間commit(第一個和最新的之間)。
概述重命名歷史commit相對比較復雜,需要配合rebase相關命令:git rebase -i [start commit_id]。
其中[start commit_id]為需要重命名commit的前面的節(jié)點的id。如此情景中我們修改1,因此需要其前面的commit_id。
使用 git rebase -i HEAD~3(HEAD~3表示將修改當前版本的近三條commit)
步驟 git log --oneline 查看commit
假如要修改b的名字。則gitrebase -i8b2c5f
①
② 執(zhí)行2后,會進入如下界面:
③在"b"那一行 寫入r,即reword <commit>,然后就進入下一個界面。寫入要修改的name即可。
以上使用gitrebase -i8b2c5f后(8b2c5f即對應a),可操作的只有b,c,d。那么如何修改第一個<commit>。
使用git rebase -i--root,輸入執(zhí)行后,結果如圖。
剩下的操作同上。
3提交遠程倉庫
如果不光是本地的修改,則使用強制push提交到遠程倉庫
git push --force #當前 git push origin master -f #主線
懶惰不會讓你一下子跌到
但會在不知不覺中減少你的收獲;
勤奮也不會讓你一夜成功
但會在不知不覺中積累你的成果
越努力,越幸運。
總結
- 上一篇: angular change the u
- 下一篇: HUD2795 线段树(单点更新)