由于 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 里面的內容。
參考:http://www.cnblogs.com/kidsitcn/p/4513297.html