Visual Studio Git 使用指南

Visual Studio Git 使用指南

文章目录

  • [Visual Studio Git 使用指南](#Visual Studio Git 使用指南)
    • [1. Git 环境准备](#1. Git 环境准备)
    • [2. 打开或克隆仓库](#2. 打开或克隆仓库)
      • [2.1 克隆远程仓库](#2.1 克隆远程仓库)
      • [2.2 创建本地新仓库](#2.2 创建本地新仓库)
      • [2.3 打开已有的本地仓库](#2.3 打开已有的本地仓库)
    • [3. Git 更改窗口(Git Changes)](#3. Git 更改窗口(Git Changes))
      • [3.1 查看更改(Changes)](#3.1 查看更改(Changes))
      • [3.2 暂存(Stashes)与取消暂存](#3.2 暂存(Stashes)与取消暂存)
      • [3.3 提交更改(Commit Changes)](#3.3 提交更改(Commit Changes))
      • [3.4 拉取(Pull)、推送(Push)与同步(Sync)](#3.4 拉取(Pull)、推送(Push)与同步(Sync))
    • [4. 分支管理](#4. 分支管理)
      • [4.1 查看与切换分支](#4.1 查看与切换分支)
      • [4.2 创建新分支](#4.2 创建新分支)
      • [4.3 合并分支](#4.3 合并分支)
      • [4.4 删除分支](#4.4 删除分支)
    • [5. 查看历史与比较](#5. 查看历史与比较)
      • [5.1 提交历史](#5.1 提交历史)
      • [5.2 比较文件差异](#5.2 比较文件差异)
    • [6. 解决合并冲突](#6. 解决合并冲突)
    • [7. 与远程仓库交互](#7. 与远程仓库交互)
      • [7.1 添加远程仓库](#7.1 添加远程仓库)
      • [7.2 推送至远程](#7.2 推送至远程)
      • [7.3 拉取请求与代码评审](#7.3 拉取请求与代码评审)
    • [8. 高级功能](#8. 高级功能)
      • [8.1 储藏(Stash)](#8.1 储藏(Stash))
      • [8.2 重置与还原](#8.2 重置与还原)
      • [8.3 Cherry-pick](#8.3 Cherry-pick)
      • [8.4 标签(Label)](#8.4 标签(Label))
    • [9. 设置与配置](#9. 设置与配置)
      • [9.1 全局 Git 设置](#9.1 全局 Git 设置)
      • [9.2 忽略文件](#9.2 忽略文件)
      • [9.3 启用/禁用 Git 功能](#9.3 启用/禁用 Git 功能)
    • [10. 实用技巧与最佳实践](#10. 实用技巧与最佳实践)
    • 结语

Visual Studio 自 2017 版本以来就深度集成了 Git,提供了直观的图形界面来管理源代码。从 Visual Studio 2019 的 16.8 版本开始,微软推出了全新的 Git 体验(默认启用),它替代了旧版的"团队资源管理器"中的 Git 功能,使 Git 操作更加直接、高效。本指南将基于最新的 Git 体验(Visual Studio 2022)详细介绍如何在 Visual Studio 中使用 Git。


1. Git 环境准备

在开始之前,请确保:

  • 已安装 Git for Windows (或其他平台的 Git),可从 git-scm.com 下载。
  • 拥有一个代码托管平台账号(如 GitHub、Azure DevOps、GitLab 等),并已配置好 SSH 或个人访问令牌(推荐)。
  • Visual Studio 中已启用 Git 体验(默认启用)。可在 工具 > 选项 > 环境 > 预览功能 中查看"新的 Git 用户体验"是否勾选。

2. 打开或克隆仓库

2.1 克隆远程仓库

  1. 启动 Visual Studio,在"开始窗口"点击 克隆存储库
  2. 输入远程仓库 URL(HTTPS 或 SSH),选择本地路径,点击 克隆
  3. 克隆完成后,解决方案会自动加载(如果仓库中包含 .sln 文件)。

在已打开的 VS 中:

点击右下角状态栏的 "Git" 图标,或使用菜单 Git > 克隆存储库

2.2 创建本地新仓库

  1. 在 VS 中打开一个本地文件夹(文件 > 打开 > 文件夹)。
  2. Git 菜单中选择 创建 Git 存储库
  3. 选择"仅限本地",然后点击"创建"。该文件夹即被初始化为 Git 仓库。

2.3 打开已有的本地仓库

  • 使用 文件 > 打开 > 文件夹/项目/解决方案 直接打开位于 Git 仓库中的文件。
  • VS 会自动检测并激活 Git 功能。

3. Git 更改窗口(Git Changes)

"Git 更改"窗口是日常操作的核心界面。可通过以下方式打开:

  • 视图 > Git 更改
  • 快捷键 Ctrl+0, Ctrl+G
  • 点击状态栏的 Git 分支名称旁的箭头

3.1 查看更改(Changes)

在"Git 更改"窗口中,可以看到所有已修改、新增、删除的文件,按解决方案、项目或文件夹分组。

  • 未暂存的更改:列出工作区中的变动。
  • 已暂存的更改:当你暂存文件后,它们会移至此区域。

3.2 暂存(Stashes)与取消暂存

  • 暂存单个文件 :鼠标悬停文件,点击 "+" 按钮。
  • 暂存所有文件 :点击"未暂存的更改"标题旁的 "+" 按钮。
  • 取消暂存 :点击已暂存文件旁的 "-" 按钮。

3.3 提交更改(Commit Changes)

  1. 在"提交消息"框中输入清晰的提交说明(建议遵循约定式提交规范)。
  2. 点击 提交所有 或下拉箭头选择 提交并推送提交并同步
    • 提交所有:仅将暂存内容提交到本地仓库。
    • 提交并推送:提交后立即推送到远程。
    • 提交并同步:提交后先拉取再推送(相当于 pull + push)。

如果只想提交部分文件,可先暂存这些文件,然后在"已暂存的更改"区域点击 提交

3.4 拉取(Pull)、推送(Push)与同步(Sync)

  • 拉取 (Fetch):从远程获取最新数据但不合并。点击"拉取"按钮(向下箭头)执行 git fetch
  • 拉取并合并(Merge) :相当于 git pull。点击"拉取"旁边的箭头,选择"拉取(拉取并合并)"。
  • 推送(Push):将本地提交推送到远程。点击"推送"按钮(向上箭头)。
  • 同步(Sync):先拉取后推送。点击"同步"按钮(循环箭头)。

这些按钮都位于"Git 更改"窗口的顶部工具栏。


4. 分支管理

在 Visual Studio 中,分支操作主要通过"Git 存储库"窗口或状态栏的分支选择器完成。

4.1 查看与切换分支

  • 点击 VS 右下角状态栏的当前分支名称,弹出分支列表。选择其他分支即可切换。
  • 也可通过菜单 Git > 管理分支 打开"Git 存储库"窗口,在"分支"下查看本地和远程分支,双击切换。

4.2 创建新分支

  1. 在状态栏分支选择器中点击 新建分支
  2. 输入分支名称,选择基于哪个分支/提交创建,点击 创建
  3. 创建后可以选择立即切换到该分支。

4.3 合并分支

  1. 切换到目标分支(例如 main)。
  2. 打开"Git 存储库"窗口(菜单 Git > 管理分支 打开"Git 存储库"窗口),找到要合并的分支(如 feature),右键选择 合并
  3. VS 会尝试自动合并。如果有冲突,会提示解决。

4.4 删除分支

  • 在"Git 存储库"窗口的分支列表中,右键本地或远程分支,选择 删除

5. 查看历史与比较

5.1 提交历史

  • 在"Git 存储库"窗口(Git > 查看分支历史记录Git > 管理分支)中,可以看到当前分支的提交历史图表。
  • 点击任意提交,下方会显示该次提交的详细信息(更改的文件、作者、日期等)。
  • 右键某个提交,可以执行 还原重置创建分支 等操作。

5.2 比较文件差异

  • 在"Git 更改"窗口中,双击某个已修改的文件,即可打开差异视图(并排显示修改前后内容)。
  • 在提交历史中,双击某个提交下的文件,也可查看该次提交引入的更改。

6. 解决合并冲突

当合并或拉取产生冲突时,Visual Studio 会提供图形化冲突解决工具。

  1. 冲突发生时,在"Git 更改"窗口会列出冲突文件,并显示红色感叹号。
  2. 双击冲突文件,打开 合并编辑器
  3. 编辑器分为三部分:
    • 左侧:当前分支(目标)的版本。
    • 右侧:被合并分支(源)的版本。
    • 底部:结果版本(可手动编辑)。
  4. 通过工具栏的按钮(如"取左侧"、"取右侧"、"取两者")快速合并,或直接编辑底部区域。
  5. 解决后点击 接受合并,文件即被标记为已解决。
  6. 所有冲突解决后,正常提交合并结果。

7. 与远程仓库交互

7.1 添加远程仓库

  • 在"Git 存储库"窗口的"远程"部分,点击 添加远程
  • 输入远程名称(如 origin)和 URL。

7.2 推送至远程

  • 如果当前分支尚未关联远程,首次推送时会提示"发布分支"。点击 发布 即可将本地分支推送到远程并建立跟踪关系。

7.3 拉取请求与代码评审

虽然 Visual Studio 不直接创建拉取请求(PR),但可以通过扩展(如 GitHub 扩展)或浏览器完成。VS 2022 内置了 GitHub 和 Azure DevOps 的 PR 查看功能(需安装相应工作负载)。例如,安装"适用于 Visual Studio 的 GitHub 扩展"后,可以在"Git 更改"窗口查看 PR 并添加评论。


8. 高级功能

8.1 储藏(Stash)

  • 当需要临时保存当前工作但不想提交时,可以使用储藏。
  • 在"Git 更改"窗口顶部,点击"储藏"按钮(或下拉箭头),选择 储藏所有
  • 要恢复储藏,点击"管理储藏"选择对应储藏项,点击 应用弹出

8.2 重置与还原

  • 在"Git 存储库"窗口的提交历史中,右键某个提交:
    • 重置:将当前分支 HEAD 移动到该提交(可选择重置模式:软、混合、硬)。
    • 还原:创建一个新提交来撤销该次提交的更改。

8.3 Cherry-pick

  • 在历史列表中,右键某个提交(非当前分支),选择 挑拣(Cherry-pick),将其应用到当前分支。

8.4 标签(Label)

  • 在"Git 存储库"窗口的"标签"节点,可以 新建标签,并指定标签名、描述和目标提交。

9. 设置与配置

9.1 全局 Git 设置

  • 打开 工具 > 选项 > 源代码管理 > Git 全局设置
  • 可配置用户名、电子邮件、默认分支名、推送行为等。

9.2 忽略文件

  • 在解决方案根目录创建或编辑 .gitignore 文件。VS 提供了模板(如 VisualStudio.gitignore)。
  • 也可以在"Git 更改"窗口中右键某个文件,选择 忽略此本地项忽略此扩展名 ,VS 会自动更新 .gitignore

9.3 启用/禁用 Git 功能

  • 工具 > 选项 > 环境 > 预览功能 中,可以切换"新的 Git 用户体验"开关。

10. 实用技巧与最佳实践

  • 提交消息规范 :使用简洁明了的语言,建议遵循 Angular 提交规范(feat:, fix:, docs: 等)。
  • 频繁提交,小而精:每个提交只做一件事,方便回滚和代码审查。
  • 同步前先拉取:养成在推送前先拉取的习惯,避免冲突。
  • 使用图形化解决冲突:VS 的合并编辑器非常直观,能显著降低解决冲突的难度。
  • 善用储藏:当你需要紧急切换分支但工作区未完成时,使用储藏而不是提交半成品。
  • 学习快捷键 :如 Ctrl+0, C 打开 Git 更改窗口,Ctrl+0, R 打开 Git 存储库窗口。

结语

Visual Studio 的 Git 集成已经非常成熟,覆盖了日常开发中绝大多数的版本控制需求。无论是初学者还是资深开发者,都可以通过图形界面高效地管理代码。如果你更习惯命令行,也可以在 VS 中打开"开发者 PowerShell"或"命令提示符"直接输入 Git 命令,图形界面和命令行可以互补使用。

相关推荐
秃了也弱了。2 小时前
ElasticSearch:优化案例实战解析(持续更新)
android·java·elasticsearch
蜜汁小强2 小时前
Git Worktree:在不打断当前开发的情况下紧急修复生产问题
git
计算机安禾3 小时前
【C语言程序设计】第31篇:指针与函数
c语言·开发语言·数据结构·c++·算法·leetcode·visual studio
宇宙realman_9994 小时前
Git 本地版本控制极简使用笔记(Qt 项目专用)
笔记·git
坐吃山猪4 小时前
OpenClaw02_GitHook使用
git·hook·openclaw
**蓝桉**6 小时前
prometheus监控nginx
nginx·elasticsearch·prometheus
莫寒清6 小时前
Git分支命名规范与最佳实践
git
光影少年6 小时前
说说模块化规范?CommonJS和ES Module的区别?
前端·javascript·elasticsearch
七夜zippoe7 小时前
Elasticsearch全文搜索与数据分析实战指南
大数据·python·elasticsearch·数据分析·全文搜索