由于 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