介绍如何在本地使用 Git
Git 与持续交付的组合好比是美味巧克力和花生酱的组合。 我们在软件世界中偶然发现了两种搭配起来超棒的体验!
软件的持续交付要求高度的自动化。 如果没有高质量的代码库,很难实现持续交付。
Git 提供了负责代码库质量的构建基块。 可实现自动执行代码库中的大多数检查。 此外,它会一直发挥作用,直到将代码提交到存储库中。
若要完整了解 Git 的作用,需要先了解如何在 Git 上执行基本操作。 例如,克隆、提交、推送和拉取。
一个很自然的问题是,如何开始使用 Git?
一个方法是使用命令行执行本机操作,或是查找本机支持 Git 的代码编辑器。
Visual Studio Code 是一个跨平台的开放源代码编辑器,可提供数百种语言的强大的开发人员工具。
若要在开源环境中工作,需要使用开源工具。
本秘诀首先介绍:
- 使用 Visual Studio Code 设置开发环境。
- 创建新的 Git 存储库。
- 在本地提交代码更改。
- 将更改推送到 Azure DevOps 上的远程存储库。
做好准备
本教程讲解如何在本地初始化 Git 存储库。
然后,我们将使用 ASP.NET Core MVC 项目模板创建一个新项目,并在本地 Git 存储库中对其进行版本控制。
接着我们将使用 Visual Studio Code 与 Git 存储库进行交互,以执行基本的提交、拉取和推送操作。
需要为工作环境设置以下内容:
- .NET 8 SDK 或更高版本:下载 .NET。
- Visual Studio Code:下载 Visual Studio Code。
- C# Visual Studio Code 扩展:使用 Visual Studio Code 执行 C 编程。
- Git:Git - 下载
- 适用于 Windows 的 Git(如果使用 Windows):适用于 Windows 的 Git
Visual Studio Marketplace 提供多种用于 Visual Studio Code 的扩展,可以安装这些扩展来增强 Git 的使用体验:
- Git Lens:此扩展使用 Git blame 注释和代码镜头为代码历史记录提供可视化效果。 使用该扩展可以无缝导航并浏览文件或分支的历史记录。 此外,该扩展使你可以通过功能强大的比较命令来获得有价值的见解以及实现更多其他操作。
- Git 历史记录:在用户查看 Git 日志、文件历史记录以及比较分支或提交时,提供可视化效果和交互功能。
如何实现
打开命令提示符并创建一个新的工作文件夹:
mkdir myWebApp cd myWebApp
在 myWebApp 中,初始化一个新的 Git 存储库:
git init
配置在此 Git 存储库中提交时要使用的名称和电子邮件地址的全局设置:
git config --global user.name "John Doe" git config --global user.email "john.doe@contoso.com"
如果启用了企业代理,可以通过将代理详细信息添加到 Git 全局配置文件中,使 Git 存储库可以感知到代理。 通过使用此命令的变体,可以设置 HTTP/HTTPS 代理(使用用户名/密码)并可以选择绕过 SSL 验证。 运行以下命令,在全局 git 配置中配置代理。
git config --global http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
创建新的 ASP.NET 核心应用程序。 新命令提供了一组可用于语言、身份验证和框架选择的开关。 有关更多详细信息,请参阅 Microsoft Learn。
dotnet new mvc
在当前工作文件夹的上下文中启动 Visual Studio Code:
code .
项目在 Visual Studio Code 中打开时,对于“myWebApp 中缺少必需的生成和调试资产。是否添加它们?”,请选择“是”警告消息。 对于“存在未解析的依赖项”消息,选择“还原”。 按 F5 调试应用程序,然后会在浏览器中加载 myWebApp,如以下屏幕截图所示:
如果更喜欢使用命令行,可以在 git 存储库的上下文中运行以下命令以运行 Web 应用程序。
dotnet build dotnet run
可以看到工作文件夹中添加了一个“.VS Code”文件夹。 若要避免将此文件夹提交到 Git 存储库中,可以将其包含在 .gitignore 文件中。 从“.VS Code”文件夹中选择一个文件,按 F1 启动 Visual Studio Code 中的命令窗口,键入“gitIgnore”,然后接受在新 .gitIgnore 文件中包含所选文件 的选项。
打开 .gitignore,从路径中删除文件名,并使文件夹保留斜杠,例如 .VS Code/*。
若要从 Visual Studio Code 中将新创建的 myWebApp 项目暂存并提交到 Git 存储库,请在左侧面板中导航 Git 图标。 添加提交注释并通过单击复选标记图标来提交更改。 该过程将通过一个操作来完成暂存和提交更改:
打开 Program.cs,你会注意到,Git 镜头通过提交历史记录来修饰类和函数,并将此信息以内联方式引入到每个代码行:
现在,在 git 存储库的上下文中启动 cmd 并运行
git branch --list
。 随后会显示此存储库中当前只存在main
分支。 现在,运行以下命令以创建名为feature-devops-home-page
的新分支。git branch feature-devops-home-page git checkout feature-devops-home-page git branch --list
通过使用这些命令,现已创建一个新分支,并已将其签出。
--list
关键字显示存储库中所有分支的列表。 绿色表示当前签出的分支。现在,导航到文件
~\Views\Home\Index.cshtml
,并将其内容替换为以下文本。@{ ViewData["Title"] = "Home Page"; } <div class="text-center"> <h1 class="display-4">Welcome</h1> <p>Learn about <a href="https://azure.microsoft.com/services/devops/">Azure DevOps</a>.</p> </div>
在浏览器中刷新 Web 应用以查看所做的更改。
在 git 存储库的上下文中执行以下命令。 这些命令将在分支中暂存更改,然后提交这些更改。
git status git add . git commit -m "updated welcome page." git status
若要将 feature-devops-home-page 中的更改合并到主分支,请在 git 存储库的上下文中运行以下命令。
git checkout main git merge feature-devops-home-page
运行以下命令以删除功能分支。
git branch --delete feature-devops-home-page
工作原理
了解之前完成的步骤的效果的最简单方法是检查操作的历史记录。 现在来看看如何操作。
在 Git 中,将更改提交到存储库的过程分为两个步骤。 正在运行:
add .
更改处于暂存状态,但未提交。 最后,运行“提交”会将暂存的更改提升到存储库中。若要查看主分支中更改的历史记录,请运行命令
git log -v
若要调查提交中的实际更改,可以运行命令
git log -p
还有更多功能
在 Git 中可以轻松撤销更改。 请按照我们的示例操作,如果想撤回对“欢迎”页面的更改的话。
可以通过使用以下命令,将主分支硬重置为以前版本的提交,来实现此目的。
git reset --hard 5d2441f0be4f1e4ca1f8f83b56dee31251367adc
运行上述命令会将分支重置为项目 init 更改。
如果运行 git log -v,
,会看到对欢迎页所做的更改已从存储库中删除。