引言
对于初次使用 Git 的同学,在开发中,提交代码的时候总会做一些致命的错误,例如提交冗余代码、提交错误代码、忘记 merge 等等。这个时候我们就需要回退版本、修改远程 Commit。
回退版本
我们可以通过 git log 查看过去的 commit 记录,然后通过 commitId 来回退指定版本的代码。
回退指定代码版本,保留撤回的 commit 的代码对于的代码
git reset --soft commitId
回退指定代码版本,丢弃撤回的 commit 的代码对于的diamond
git reset --hard commitId
回退上一次提交
git reset --hard HEAD^
变基
在提交本地代码前,变基(rebase)是一件很重要的事,如果不变基,在合并请求的时候会导致不能合并的情况出现。
如果,我们没在自己的分支上,首先要切换分支
git checkout wjc
然后进行变基操作
git rebase master
有时候可能会遇到冲突,解决完冲突后,我们要继续变基
git rebase --continue
推送(强制)
正常的 Git 操作,我们的推送是这样的
git push origin wjc
但是,如果我们此时需要用本地的提交记录覆盖远程的,这个时候就得使用强制推送来覆盖远程的提交
git push origin wjc --force