由于多电脑使用一个版本仓库,经常出现版本冲突的情况,错误提示
error: Your local changes to 'example.py' would be overwritten by merge. Aborting.Please, commit your changes or stash them before you can merge.
,然后本次我的错误commit导致问题一直没解决,于是直接使用版本回退功能解决问题。
版本回退 git reset
使用git reset commit_id
可以将版本号回到指定版本,commit_id
如何指定?可以使用以下方法:
commit_id
git log
通过用git log
可以查看提交历史,以便确定要回退到哪个版本。此方法一半适用与比较回退版本较少情况,因为git bash
里输出的信息太多,不方便查看。
git log -n
可查看最近n此提交,git log
状态下按q键可退出。
HEAD
在git
中,HEAD
指向当前版本,上一版本HEAD^
,上上版本HEAD^^
,依次类推,也可使用HEAD~n
来回退n个版本。
git GUI
可在git GUI
中点击菜单上的 repository – visualize master’s History/visualize all branch History 查看历史版本。
git reset
参数
git reset
参数在git reset
后输入,比如git reset --hard commit_id
mixed
将本地版本库的头指针全部重置到指定版本,且会重置暂存区,即这次提交之后的所有变更都移动到未暂存阶段
soft
软回退表示将本地版本库的头指针全部重置到指定版本,且将这次提交之后的所有变更都移动到暂存区
hard
将本地版本库的头指针全部重置到指定版本,也会重置暂存区,并且会将工作区代码也回退到这个版本
追加提交
回退版本之后可以使用git commit --amend
进行追加提交,优点是不会产生新的commit-id
,