基础回退
-
在项目文件夹右键打开git bash,输入命令git log 查看提交的历史 commit,git log --pretty=oneline将版本信息压缩到一行
- 使用git log可能会显示不全,按enter逐行查看,按end跳至末尾
- 查看完成后,按q即可退出
-
找到自己想要回退的版本,记录下commit后边的版本ID值
-
git checkout ID值
- 请注意,如果Vscode中有未提交的代码,即暂存区有代码,需要你提交或者放弃后,才可以执行checkout这一步。
-
执行完成,即可得到想要版本的代码了
Git配合其余操作
- 参考知乎:git+vscode进行版本控制
基础操作
- 我一般使用vscode初始化仓库,暂存和提交代码,以及创建分支等操作
其他操作
- git reflog命令:可以看到你对仓库所有的相关操作,并有他的HEAD
- git reset命令:git reset --hard xxx,回退到任意版本,回退命令reflog也会有记录
分支
- 分支的意义主要是团队的并行开发,个人的功能测试和错误隔离。
- 创建分支:git branch,如图为vscode创建
- 查看分支:git branch -v,切换分支:git checkout。如图为vscode查看分支并在分支上右键切换。
- 在新分支修改文件,并提交后,可以看到新分支文件更新了。切换分支后,代码文件内容会随着分支应有的内容同步更新
- 切换主分支后,txt内容为this is version 3
- 切换beta后,txt内容为this is version 4
- 主分支合并分支,切换为主分支,选择合并,然后在提示框选择beta即可,使用git merge命令
分支合并其他情况
- main提交version 5 in main,beta提交version 5 in beta
- 切换到主分支,合并的时候,会提示错误,左侧会显示,此时打开文件,会显示如图,可以根据需要选择采用哪种更改
- 我选择保留双方更改,此时保存并暂存更改后提交,主分支变为如图,主分支文件内容如图
- 当我切换为beta分支,beta无影响
后续
- 此时使用reflog可以看到所有变更记录,切换
- 当main分支回退版本,要首先切换main分支后,才可以使用git reset
- 同理,beta分支回退版本,要首先切换beta分支后,否则导致main分支内容恢复到到beta分支