由於 github
push 了兩個比較潦草的commit
, 自己很不滿意,又不想重新開vpn進行上傳,所以找了一下相關的教程。
- 最后研究了一下,原理為先在本地還原到你想要的commit,然后強制push 到遠程倉庫,強制將遠程倉庫還原到你想要的commit.
# 比方說我想 返回到 a1edaeb37a5 這個commit.
# 首先現在本地進行還原。
git reset --hard a1edaeb37a5
# 然后強制push 到遠程倉庫
git push -f git@192.168.1.4:chenfulin5/u-boot_2016.05.git master:master
-
這種強制push的方式有點危險 ,平時的 push 就用普通的 push 就行。
-
git reset 也分幾種還原
git reset --help
# 平時我們的還原通常選用 `git reset --<mode> [<commit>]` 這種模式,這種模式也有幾種情況:
# mode:
--soft 這個就是除了git commit 還原外其他的都保留,比如說git status 里面的內容和代碼的修改。
--mixed 這個就是 除了代碼修改保留外其他的都還原, 包括git commit 和 git status 里面的內容。
--hard 這個就將所有的都還原,包括代碼 ,git add 后的內容以及 git commit 里面的內容。