快速入门:使用 Git 编写代码
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
在本快速入门中,了解如何与他人共享代码。 在Azure DevOps中创建新的组织和项目后,可以使用 Git 开始编码。
若要使用 Git 存储库,请将其克隆到计算机。 克隆存储库会创建存储库的完整本地副本,供你使用。 克隆还会下载存储库中的所有 提交 和 分支 ,并设置与服务器上的存储库的命名关系。 使用此关系与现有存储库交互,推送和拉取更改以与团队共享代码。
安装 Git 命令行工具
安装以下 Git 命令行工具之一:
- 若要安装 Git for Windows(包括 Git 凭据管理器),请参阅安装 Git 凭据管理器。
- 若要在 macOS 或 Linux 上安装,请查看开源 Pro Git 书籍中的“安装 Git”章节。 对于 macOS 和 Linux,建议 配置 SSH 身份验证
获取代码
若要获取源代码的副本,请克隆包含代码的 Git 存储库。 克隆会同时创建源代码的本地副本,以便可以使用它。 克隆还会创建所有版本控制信息,以便 Git 可以管理源代码。
如果刚开始Azure Repos,代码可能位于以下几个位置之一:
- 我刚刚在Azure DevOps创建了我的组织,所以我没有任何代码
- 代码位于我的 (或组织的) Azure Repos Git 存储库中
- 代码位于另一个 Git 存储库中,例如GitHub或其他Azure Repos Git 存储库
- 代码位于我的本地计算机上,尚不在版本控制中
我刚刚在Azure DevOps创建了我的组织,所以我没有任何代码
如果刚刚注册了Azure DevOps Services,则默认情况下,你有一个名为的项目MyFirstProject和一个名为 MyFirstProjectGit 存储库的项目。 如果要在该存储库中工作,可以 克隆它 ,然后将代码添加到该存储库。
若要创建新的存储库,请按照 在项目中创建新的 Git 存储库中的步骤操作。 然后, 克隆 新存储库并在那里添加代码。
代码位于我的 (或组织的) Azure Repos Git 存储库中
如果代码位于 (或组织的) Azure 存储库中,则可以将 Git 存储库克隆到本地计算机,然后通过跳转到 “克隆存储库”来开始使用它。
代码位于另一个 Git 存储库中
如果代码位于另一个 Git 存储库中,例如GitHub存储库或其他 Azure 存储库实例,则可以将其导入到新的或现有的空 Git 存储库中。 按照 导入 Git 存储库中的步骤操作。 然后,返回到本文并跳转到 克隆存储库。
代码位于我的本地计算机上,尚不在版本控制中
如果代码尚未在版本控制中,则有几个选项:
- 创建新的存储库,并在其中添加代码。 若要创建新存储库并向其添加代码,请按照 项目中的“创建新 Git 存储库”中的步骤操作。 然后,返回到本文,然后跳到 克隆存储库。
- 将代码添加到现有存储库。 若要将代码添加到现有存储库,请跳到 克隆存储库。
克隆存储库后,我们将介绍如何将现有代码添加到存储库。
将存储库克隆到计算机
若要使用 Git 存储库,请将其克隆到计算机。 克隆存储库会创建存储库的完整本地副本,供你使用。 克隆还会下载存储库中的所有 提交 和 分支 ,并设置与服务器上的存储库的命名关系。 使用此关系与现有存储库交互,推送和拉取更改以与团队共享代码。
在 Web 浏览器中,打开组织的团队项目,然后选择Repos>Files。 如果没有团队项目, 请立即创建一个项目。

选择“代码”窗口右上角的 “克隆 ”并复制 URL。

打开 Git 命令窗口, (Git 上的 Git Bash 进行Windows) 。 转到要从存储在计算机上的存储库中的代码的文件夹,然后运行
git clone,然后运行上一步中从 克隆 URL 复制的路径。 请参阅以下示例:git clone https://FabrikamFiber01@dev.azure.com/FabrikamFiber01/FabrikamFiber01-01/_git/FabrikamFiber01-01将目录切换到克隆的存储库。
cd fabrikam-web使此命令窗口保持打开状态,因为你将在以下步骤中使用它。
在 Web 浏览器中,打开组织的项目,然后选择 “代码”。 如果没有项目, 请立即创建一个项目。
选择“代码”窗口右上角的 “克隆 ”,然后复制 URL。

打开 Git 命令窗口, (Git 上的 Git Bash 进行Windows) 。 转到要从存储在计算机上的存储库中的代码的文件夹,然后运行
git clone,然后运行上一步中从 克隆 URL 复制的路径。 请参阅以下示例:git clone https://contoso-ltd.visualstudio.com/MyFirstProject/_git/contoso-demo将目录切换到克隆的存储库。
cd contoso-demo使命令窗口保持打开状态, (在以下步骤) 使用它。
在分支中工作
Git 分支 将更改与项目中正在完成的其他工作隔离开来。 建议的 Git 工作流 使用新分支来处理每个功能或修复。
使用 branch 命令创建分支。 此命令在 Git 中为新分支创建引用。 它还会创建指向父提交的指针,以便 Git 可以在向分支添加提交时保留更改的历史记录。
Git 始终向当前本地分支添加新提交。 在提交之前检查你正在处理的分支,以便不要将更改提交到错误的分支。
使用命令在本地 checkout 分支之间切换。 Git 将更改计算机上的文件,以匹配签出分支上的最新提交。
在此步骤中,我们将创建一个工作分支,并更改该分支中的计算机上的文件。
branch使用命令创建分支并checkout切换到该分支。 在以下示例中,将命名 users/jamal/feature1新分支。
git branch users/jamal/feature1
git checkout users/jamal/feature1
从命令行创建分支时,分支基于当前签出分支。 克隆存储库时,通常会 main 签出默认分支 () 。由于已克隆,因此本地副本 main 具有最新更改。
如果使用的是以前克隆的存储库,请确保已签出正确的分支 () git checkout main ,并在创建新分支之前 () 最新 git pull origin main 。
git checkout main
git pull origin main
git branch users/jamal/feature1
git checkout users/jamal/feature1
可以将上一示例中的前三个命令替换为以下命令,该命令基于最新main分支创建一users/jamal/feature1个名为的新分支。
git pull origin main:users/jamal/feature1
切换回上一部分使用的 Git Bash 窗口。 运行以下命令以基于主分支创建和签出新分支。
git pull origin main:users/jamal/feature1
git checkout feature1
浏览到本地计算机上的存储库位置,对其中一个文件进行编辑,并将其保存。 如果要将代码从本地计算机添加到存储库,可以通过将其复制到克隆存储库的文件夹来在此处添加它。
使用代码
在以下步骤中,我们对计算机上的文件进行更改,在本地提交更改,并将提交推送到存储在服务器上的存储库。 然后,我们可以查看更改。
浏览到克隆存储库的计算机上的文件夹,在所选编辑器中打开
README.md文件,并进行更改。 然后保存并关闭该文件。在 Git 命令窗口中,输入以下命令转到
contoso-demo目录:cd contoso-demo通过在 Git 命令窗口中输入以下命令来提交更改:
git add . git commit -m "My first commit"该
git add .命令会暂存任何新的或更改的文件,并使用git commit -m指定的提交消息创建提交。将更改推送到服务器上的 Git 存储库。 在 Git 命令窗口中输入以下命令:
git push origin users/jamal/feature1
Your code is now shared to the remote repository, in a branch named users/jamal/feature1. 若要将工作分支中的代码合并到 main 分支中,请使用拉取请求。
使用拉取请求查看和合并更改
拉取请求将对代码的评审和合并组合到一个协作过程中。 在分支中修复 bug 或新功能后,创建新的拉取请求。 将团队成员添加到该拉取请求中,以便他们可对你所作的更改进行评审和投票。 使用拉取请求评审正在进行的工作,及早获取更改反馈。 无法承诺合并更改,因为可以随时放弃拉取请求。
此示例演示创建和完成拉取请求的基本步骤。
在 Web 浏览器中,打开组织的团队项目,然后选择Repos>Files。 如果在获取克隆 URL 后保持浏览器打开状态,只需切换回浏览器即可。

选择“文件”窗口右上角的“创建拉取请求”。 如果目前未看到用户 /jamal/feature1 等消息,请刷新浏览器。

新的拉取请求配置为将分支合并到默认分支,在此示例中为
main。 标题和说明已预先填充提交消息。
可以在 “新建拉取请求 ”窗口底部查看拉取请求中包含的文件。

选择 “创建” 以创建拉取请求。
可以从 “概述 ”选项卡查看拉取请求的详细信息。还可以从其他选项卡查看拉取请求中更改的文件、更新和提交。 选择 “完成 ”以开始完成拉取请求的过程。

选择 “完成合并” 以完成拉取请求并将代码合并到分支中
main。
注意
此示例演示创建和完成拉取请求的基本步骤。 若要了解有关拉取请求的详细信息,包括投票和审阅、批注、自动完成等,请参阅 “创建”、“查看和管理拉取请求”。
在 Web 浏览器中,打开组织的团队项目,然后选择 “代码 ”页。 如果没有团队项目, 请立即创建一个项目。
选择“代码”页右上角的“克隆”并复制“克隆 URL”。

打开 Git 命令窗口(例如 Git 上的 Git Bash for Windows),并浏览到要从存储在计算机上的存储库中的代码的文件夹。 运行
git clone后跟上一部分中从 克隆 URL 复制的路径,如以下示例所示。git clone https://dev.azure.com/contoso-ltd/MyFirstProject/_git/contoso-demo将目录切换到克隆的存储库。
cd fabrikam-web使此命令窗口保持打开状态,因为你将在以下步骤中使用它。
更改现在合并到 main 分支中,并在 users/jamal/feature1 远程存储库上删除分支。 若要删除分支的本地副本,请切换回 Git Bash 命令提示符并运行以下命令。
git checkout main
git pull origin main
git branch -d users/jamal/feature1
该 git checkout main 命令会将你切换到 main 分支。 该 git pull origin main 命令在主分支中拉取最新版本的代码,包括更改和合并的事实 users/jamal/feature1 。 该 git branch -d users/jamal/feature1 命令删除该分支的本地副本。
现在,你已准备好创建新的分支,编写一些代码,然后再次执行此操作。
查看历史记录
切换回 Web 门户,然后从“代码”页中选择 “历史记录 ”以查看新提交。

切换到 “文件” 选项卡,然后选择自述文件以查看更改。

切换回 Web 门户,然后从“代码”选项卡中选择“历史记录”以查看新提交。 将显示两个提交:第一个提交,其中自述文件和 .gitignore 在创建存储库时添加,以及刚刚提交的提交。

切换到 “文件” 选项卡,然后选择自述文件以查看更改。
