当前位置: 首页 > news >正文

Git 新手完全指南(二):在vscode中使用git

一、安装必要工具(git和vscode缺一不可)

1. 下载安装 Git(有则忽略)

Windows 用户

  1. 访问 Git 官网下载页面
  2. 双击下载的安装文件
  3. 安装时注意
    • 在 “Select Components” 步骤,确保勾选 “Git Bash Here”(方便右键操作)
    • 在 “Adjusting your PATH” 步骤,选择 “Git from the command line and also as 3rd-party software”(关键!)
    • 其他步骤保持默认即可

Mac 用户

  1. 打开终端(Terminal)
  2. 输入命令:xcode-select --install(系统会自动安装 Git)

验证安装

  • 打开命令提示符(Windows)或终端(Mac)
  • 输入:git --version
  • 如果显示版本号(如 git version 2.45.0),说明安装成功!

💡 生活小例子
安装 Git 就像安装微信——装好后才能发"朋友圈"(提交代码)。

2. 下载安装 VS Code(有则忽略)

为什么推荐
VS Code 内置了 Git 可视化界面,让新手更容易理解 Git 操作,无需记忆命令。

安装步骤

  1. 访问 VS Code 官网
  2. 点击 Download for Windows(或 macOS/Linux)
  3. 双击下载的安装文件
  4. 安装时注意
    • 勾选 “Add “Open with Code” in Windows Explorer context menu”(右键菜单添加选项)
    • 勾选 “Register Code as an editor for supported file types”(关联文件类型)
    • 其他选项保持默认

验证安装

  • 打开 VS Code
  • Ctrl+Shift+G(Windows)或 Cmd+Shift+G(Mac)
  • 如果左侧出现 Git 图标,说明集成成功

💡 生活小例子
VS Code 就像带"朋友圈预览"功能的微信——你能看到修改效果再决定是否发布。

3. 配置 Git 基本信息

只拉取或者克隆代码不需要,但提交和推送代码是必要的

# 设置你的名字(替换为你的名字)
git config --global user.name "张三"# 设置你的邮箱(替换为你的邮箱,最好用 GitHub 注册邮箱)
git config --global user.email "zhangsan@example.com"# 查看是否设置成功
git config --list

💡 生活小例子
这就像在朋友圈设置昵称和头像,别人知道是谁发的。

二、在项目文件夹初始化仓库

1. 新建项目(从零开始)

场景:你有一个全新的 Python 项目想用 Git 管理

步骤

  1. 创建项目文件夹,比如:D:\document\git_vscode_example
  2. 在VS Code的左上角菜单,选择 File -> Open Folder…,然后选择你刚刚创建的那个 MyFirstVSCProject 文件夹。
    在这里插入图片描述
  3. 初始化 Git 仓库:
    在VS Code界面的最左侧,找到那个有三个小圆点连接在一起的图标(源代码管理),点击它。

因为这个文件夹还不是一个Git仓库,所以VS Code会非常贴心地为你显示一个巨大的蓝色按钮。

点击那个蓝色的 “Initialize Repository” (初始化仓库) 按钮。
在这里插入图片描述

  1. 创建你的项目文件

💡 生活小例子
git init 就像买一个新的笔记本,准备记录你的学习过程。

2. 克隆项目(获取别人项目)

场景:你想下载 GitHub 上的项目到本地

步骤

  1. 在 GitHub 找到你想克隆的项目(如 https://github.com/octocat/Hello-World)

  2. 点击绿色的 “Code” 按钮 → 复制链接
    克隆github的项目

  3. 在 VS Code 中:

    • 按 Ctrl+Shift+P 打开命令面板
    • 输入 git clone 并选择
    • 粘贴复制的 URL
    • 选择本地保存位置
  4. 打开克隆的文件夹:
    在 VS Code 中 文件 > 打开文件夹,选择刚克隆的文件夹

💡 生活化例子:
克隆就像复印一本已有笔记的笔记本,你得到一份完全相同的副本,可以自由修改。

三、基础操作

1. 添加修改到缓存区

场景:修改了代码,准备提交

步骤

  1. 修改 main.py 文件(例如添加一行 print("Git is awesome!")
  2. 查看更改:
    • 左侧 源代码管理 图标显示修改文件数量
    • 点击该图标,查看具体修改(绿色=新增,红色=删除)
  3. 添加到暂存区:
    • 在修改文件旁点击 + 图标(或右键选择 暂存更改
    • 文件会从"更改"移动到"暂存的更改"
      git add

💡 生活化例子
暂存区就像装快递的箱子,你把要寄出的物品(修改)先放进箱子,确认无误后再打包(提交)。

2. 提交修改

场景:确认修改无误,保存到本地仓库

步骤

  1. 源代码管理 面板:
    • 在顶部输入框输入清晰的提交信息(如"添加欢迎消息功能")
    • 不要留空!这是你未来的"备忘录"
  2. 点击 图标(或按 Ctrl+Enter
  3. 验证提交:
    • 提交后,"暂存的更改"区域应清空
    • 点击 > 提交 > 查看提交历史
      在这里插入图片描述

💡 生活化例子
提交就像给日记本标上日期和标题,方便以后查找:“2023-10-01:添加了新功能”。

3. 推送到 GitHub

场景:将本地修改同步到远程仓库

步骤

  1. 首次推送需要关联远程仓库:
    • 在 VS Code 底部状态栏,点击 发布到 GitHub
    • 选择 创建新仓库选择现有仓库
  2. 后续推送:
    • 修改并提交后
    • 点击 VS Code 底部状态栏的 图标(或 > 同步更改
  3. 验证推送:
    • 刷新 GitHub 页面,应看到最新代码
      在这里插入图片描述

💡 生活化例子
推送就像把本地笔记扫描上传到云盘,确保即使电脑坏了,笔记也不会丢失。

4. 从 GitHub 拉取

场景:获取他人推送的最新代码

步骤

  1. 当 VS Code 底部状态栏显示 ↓X(X 是未拉取的提交数,你团队的其他人提交才会有这个按钮,个人开发者一般会看到↑Y,Y是待推送的提交数)的图标,或者一个循环箭头 🔄)
  2. 点击 图标(或 > 同步更改
  3. VS Code 会自动合并远程更改到你的本地仓库
  4. 如有冲突:VS Code 会高亮显示,需手动解决

💡 生活化例子
拉取就像查看微信群里的新消息,确保你的本地副本是最新的。

5. 状态检查(关键步骤)

建议:在每个操作前后检查状态

步骤

  1. 查看当前状态:
    • 左侧 源代码管理 图标显示修改文件数
    • 点击图标查看详细状态
      已修改未添加到暂存区
      上图是:已修改未添加到暂存区的状态
      已添加修改未提交
      上图是:已添加修改未提交的状态
  2. VS Code 底部状态栏显示:
    • 分支名称(如 main
    • 未推送/未拉取的提交数
    • 当前仓库状态
      分支状态
      • main那里对应的查看当前分支的命令是git branch
      • *星号和+加号对应的查看是否有未提交更改对应的命令是git status
      • 查看需要拉取(Pull)的数量(↓ X):
        • 先运行 git fetch,这个命令会从远程仓库(GitHub)下载最新的历史记录信息,但并不会修改你本地的文件。它只是帮你“看一眼”云端有什么新东西。
        • 再运行 git status,它就会告诉你:“Your branch is behind ‘origin/main’ by X commits…” (你的分支落后于远程主分支X个提交)。
      • 查看需要推送(Push)的数量 (↑ Y):
        • 运行git status当你完成了一次本地commit,但还没有push时,直接运行git status,它就会告诉你:“Your branch is ahead of ‘origin/main’ by Y commits…” (你的分支领先于远程主分支Y个提交)。这个 Y 就是你在VS Code里看到的那个数字。

💡 生活化例子
状态检查就像看手机电量,确保你不会在关键时刻断电(忘记提交或推送)。

6. 检查日志

场景:查看历史修改

步骤

  1. 在 VS Code 中:
    • 点击左侧 源代码管理 图标
    • 点击右上角 > 提交 > 查看提交历史
      在这里插入图片描述
      • graph:点击胡展开所有分支,能看到每一次提交(commit)
      • 分支图标旁边的Auto:是分支选择器,有3个选项All history item references(显示所有历史记录(包括分支、标签)),Auto Current history item reference(s)(自动选择当前上下文的历史记录),main 99be4fa(当前分支 main 的最新提交哈希值)。
      • Go to HEAD : Auto旁边的按钮,前往当前位置,将图形历史视图定位到当前分支的最新提交(commit),也就是HEAD 指针位置。
      • 两个♁:一个是Fetch from Remote,仅从远程仓库下载提交记录(不自动合并到本地分支),相当于git fetch 仓库名。另一个是Pull,相当于 git fetch + git merge一起,即,先下载远程仓库的最新提交,再自动尝试将下载的更改合并到当前分支,或者相当于git pull。
      • publish branch:将自己负责的,全新的本地分支推送到远程仓库(如 GitHub),并与远程仓库建立追踪关系。
      • refresh:同步,相当于先git pull再git push
  2. 或使用命令面板:
    • Ctrl+Shift+P → 输入 git log
  3. 查看内容:
    • 提交哈希值(唯一ID)
    • 提交者和时间
    • 提交信息
      在这里插入图片描述

💡 生活化例子
提交历史就像手机相册的时间线,让你随时回到任意时间点。

四、分支

1. 分支的意义

为什么需要分支

  • 主分支(main)保持稳定
  • 新功能在独立分支开发,不影响主代码
  • 完成后合并回主分支

💡 生活化例子
分支就像平行宇宙,你在"新功能宇宙"开发,完成后再把好结果带回"主宇宙"。

2. 创建分支

场景:开始开发新功能

步骤

  1. 在 VS Code 底部状态栏:
    • 点击当前分支名(如 main
    • 选择 从主分支创建新分支
  2. 输入新分支名(如 feature/login
  3. 点击 创建分支
    在这里插入图片描述

💡 命名建议
feature/功能名(新功能)、fix/问题描述(修复bug)、docs/文档说明(文档更新)

3. 切换分支

场景:在不同任务间切换

步骤

  1. 点击 VS Code 底部状态栏的当前分支名
  2. 选择要切换的分支
  3. 确认切换(如有未提交更改,需先提交或暂存)

💡 生活化例子
切换分支就像切换工作模式:写代码模式 → 修复bug模式。

4. 合并分支

场景:新功能开发完成,合并回主分支

步骤

  1. 先切换到接收分支(通常是 main):
    • 点击底部状态栏分支名 → 选择 main
  2. 点击 > 分支 > 合并分支
  3. 选择要合并的分支(如 feature/login
  4. 解决可能的冲突(如有)
  5. 提交合并
    在这里插入图片描述

💡 生活化例子
合并就像把实验成果整合到主产品中,确保一切正常工作。

5. 删除分支

场景:分支已合并,不再需要

步骤

  1. 确保已切换到其他分支(不能删除当前分支)
  2. 点击 > 分支 > 删除分支
  3. 选择要删除的分支
  4. 确认删除
    在这里插入图片描述

💡 安全提示
只删除已合并的分支,避免丢失未完成的工作。

总结:每日 Git 工作流

开始工作
切换到项目文件夹
拉取最新代码
创建新分支
修改代码
暂存并提交
推送分支
创建 Pull Request
代码审查
合并到 main
删除分支

新手每日练习

  1. 打开 VS Code,创建小项目
  2. 修改文件 → 暂存 → 提交 → 推送
  3. 每天至少提交 1 次,写清楚提交信息
  4. git log 查看自己的历史

🌟 关键原则

  • 小步提交:每次提交只做一件事
  • 清晰描述:提交信息要具体(如"修复登录按钮样式")
  • 频繁推送:避免代码丢失
  • 状态检查:操作前后查看状态

现在就去创建你的第一个 Git 仓库吧!记住:最简单的提交也比不提交强

http://www.dtcms.com/a/340398.html

相关文章:

  • Linux 文本处理与 Shell 编程笔记:正则表达式、sed、awk 与变量脚本
  • CentOS 7/8 搭建 Samba 文件共享服务并与Windows无缝集成
  • centos配置ip地址不生效
  • 关于多个el-input的自动聚焦,每输入完一个el-input,自动聚焦到下一个
  • 基于SpringBoot的校园跳蚤市场二手交易管理系统【2026最新】
  • 如何删除三星手机上的所有内容(5 种解决方案)
  • 微美全息(NASDAQ:WIMI):以区块链+云计算混合架构,引领数据交易营销科技新潮流
  • 2026 济南淀粉深加工展览会亮点:玉米科技与未来产业发展
  • Vue3 element ui 给表格的列设置背景颜色
  • vue3源码reactivity响应式之数组代理的方法
  • 解决前端项目启动时找不到esm文件的问题
  • 微算法科技(NASDAQ: MLGO)引入高级区块链DSR算法:重塑区块链网络安全新范式
  • AI时代SEO关键词优化新策略
  • 设计模式1-单例模式
  • 梯度提升决策树(GBDT):从原理到实战,掌握结构化数据建模的核心利器
  • Python入门第13课:数据可视化入门,用Matplotlib绘制你的第一张图表
  • Java 线程池ThreadPoolExecutor源码解读
  • 算法 ----- 链式
  • Day 30 模块和库导入
  • mapbox高阶,结合threejs(threebox)添加建筑glb模型,添加阴影效果,设置阴影颜色和透明度
  • 力扣 30 天 JavaScript 挑战 第36天 第8题笔记 深入了解reduce,this
  • CorrectNav——基于VLM构建带“自我纠正飞轮”的VLN:通过视觉输入和语言指令预测导航动作,且从动作和感知层面生成自我修正数据
  • 【Linux】系统部分——磁盘存储结构与文件系统
  • C++八股 —— 设计模式
  • wpf之ComboBox
  • DRF序列化器
  • DeepSeek V3.1 完整评测分析:2025年AI编程新标杆
  • ⭐CVPR2025 给3D高斯穿 “UV 衣” 框架[特殊字符]
  • 路由器NAT的类型测定
  • KubeBlocks AI:AI时代的云原生数据库运维探索