作为一名前端开发者,我们每天都要与代码版本控制打交道。Git虽然功能强大,但手敲命令行较为麻烦。而VS Code提供了强大的内置Git功能和增强插件,让我们能够通过直观的可视化界面完成绝大多数Git操作,在团队协作开发下,提升开发效率。本文主要介绍工作中常见场景下的一些git操作。
1. 基本用法
1.1 主要功能区


1.2 Git 执行日志可以从输出->git 中查看

通过这个可以看到交互方式具体执行的命令。可以在与自己预期不符情况下,进行check。
具体操作参考:
2. 落后提交时,git使用技巧
落后提交两种情况:
- 自己分支合入主分支后,此分支落后提交
- 自己从主分支拉取分支后,同事往主分支合入了代码,此时落后提交
此时,需要在当前分支加入最新的提交(不管有没有冲突,都建议合入最新分支),两种合并方式:
- rebase:(个人分支开发时,推荐用法,保持分支记录干净)
两步可视化操作: git fetch origin + git rebase origin/master
- git fetch origin :先获取最新的远程提交
2. git rebase origin/master
对应可视化操作: 
但该可视化操作,并不会自动执行git stash。在有工作区文件修改时,不太方便,此时只能手动执行stash。 要么添加--autostash参数:git rebase origin/master --autostash,要么git stash +git rebase origin/master + git stash pop
--autostash: 先执行git stash,若git rebase 执行完,再git stash pop,注意,如果有冲突,不会git stash pop,可从stash区手动pop
- Merge :git pull origin master (git pull = git fetch + git merge)

3. fork模式下的分支开发技巧
开源项目和公司里,有时会不允许在代码仓里建新分支,而是fork仓里建分支来进行合并提交
步骤:
- 添加fork仓的源(可命名为fork,区别于origin)

- 基于源代码仓的主干分支,创建本地主干分支(这一步是为了同步原仓的修改,若从fork仓进行同步,会有多余操作,比较麻烦)

- 开发时,基于本地主分支,创建开发分支。推送时,选择推送到fork仓。

可以看到此时未关联远程分支。

- 当主分支更新时,本地开发分支落后提交,同样采用rebase 合并。(与前面一样的操作)
4. 回退操作。
用于遗漏提交或误写的场景,避免这些提交记录影响代码的提交历史,也是很常用的
4.1 回退工作区文件

4.2 回退已暂存文件到工作区

4.3 回退最新提交到暂存区
撤回提交,到暂存区,可以连续撤销。
对应代码git reset --soft HEAD~

注意:只能撤销最新的提交,如果需要撤销多次提交,可以连续操作,或者使用命令
写在最后,vscode git 看起来功能很多,但是并不复杂,熟能生巧。可以新建个练习git的仓库进行练习。熟练之后,开发精力就不会被消耗在分支使用上了!