VS Code Git 神器:内置功能与GitLens插件使用技巧

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

1. 基本用法

1.1 主要功能区

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

通过这个可以看到交互方式具体执行的命令。可以在与自己预期不符情况下,进行check。

具体操作参考:

2. 落后提交时,git使用技巧

落后提交两种情况:

  • 自己分支合入主分支后,此分支落后提交
  • 自己从主分支拉取分支后,同事往主分支合入了代码,此时落后提交

此时,需要在当前分支加入最新的提交(不管有没有冲突,都建议合入最新分支),两种合并方式:

  • rebase:(个人分支开发时,推荐用法,保持分支记录干净)

两步可视化操作: git fetch origin + git rebase origin/master

  1. 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)

git merge/ git rebase区别

3. fork模式下的分支开发技巧

开源项目和公司里,有时会不允许在代码仓里建新分支,而是fork仓里建分支来进行合并提交

步骤:

  • 添加fork仓的源(可命名为fork,区别于origin)
  • 基于源代码仓的主干分支,创建本地主干分支(这一步是为了同步原仓的修改,若从fork仓进行同步,会有多余操作,比较麻烦)
  • 开发时,基于本地主分支,创建开发分支。推送时,选择推送到fork仓。

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

  • 当主分支更新时,本地开发分支落后提交,同样采用rebase 合并。(与前面一样的操作)

4. 回退操作。

用于遗漏提交或误写的场景,避免这些提交记录影响代码的提交历史,也是很常用的

4.1 回退工作区文件

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

4.3 回退最新提交到暂存区

撤回提交,到暂存区,可以连续撤销。

对应代码git reset --soft HEAD~

注意:只能撤销最新的提交,如果需要撤销多次提交,可以连续操作,或者使用命令

写在最后,vscode git 看起来功能很多,但是并不复杂,熟能生巧。可以新建个练习git的仓库进行练习。熟练之后,开发精力就不会被消耗在分支使用上了!

相关推荐
张洛闻Eren31 分钟前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(77):TSM——让记忆回到事件真正发生的时间
论文阅读·人工智能·学习·开源·github
橘和柠2 小时前
依赖冲突:装个包装崩了项目,怎么排查和救回来
github
别动我齐刘海4 小时前
ROS2 Jazzy + C++ 实战路线——ros2_control
c++·人工智能·python·opencv·机器学习·机器人·github
怕浪猫4 小时前
ZCode 开源了来看看这是个什么东西
node.js·github·代码规范
demo007x5 小时前
我用 AI 做了一个跨平台的PopClip:拾趣Magpie
程序员·github·ai编程
miofly5 小时前
GitHub 日榜趋势速报 | 2026-09-22
开源·github
郑州光合科技余经理18 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我1234519 小时前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制