与 Git 共享代码

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

使用 Git 存储库时,请在 Azure DevOps 中与他人共享代码。

先决条件

必须在 Azure DevOps 中有一个组织和项目。 创建项目时,Azure DevOps 会自动在 Repos 中创建空存储库。

1.安装 Git 命令行工具

安装以下 Git 命令行工具之一:

2.将存储库克隆到计算机

若要使用 Git 存储库,请将其克隆到计算机,从而创建存储库的完整本地副本。 代码可能位于多个位置之一。

  1. 完成适用于你的方案的以下步骤:

    • 如果 还没有任何代码,请先 在项目中创建新的 Git 存储库,然后完成下一步。
    • 如果 代码位于另一个 Git 存储库(如 GitHub 存储库或其他 Azure 存储库实例)中, 请将其导入新的或现有的空 Git 存储库,然后完成下一步。
    • 如果 代码位于本地计算机上且尚未在版本控制中, 请在项目中 创建新的 Git 存储库,或将代码添加到现有存储库。
  2. 在 Web 浏览器中,打开组织的团队项目,然后选择“存储库>文件”。

    项目屏幕截图,其中突出显示了 Repos 和文件。

  3. 选择“克隆”。

    屏幕截图显示了存储库文件中突出显示的“克隆”按钮。

  4. 复制 URL。

    屏幕截图显示了复制 URL 的突出显示复制图标。

  5. 打开 Git 命令窗口(适用于 Windows 的 Git 上的 Git Bash)。 转到要从存储在计算机上的存储库中的代码的文件夹,然后运行 git clone,然后运行上一步中从 克隆 URL 复制的路径。 请参阅以下示例:

    git clone https://FabrikamFiber01@dev.azure.com/FabrikamFiber01/FabrikamFiber01-01/_git/FabrikamFiber01-01
    

    Git 会将代码的副本(包括存储库中的所有 提交分支 )下载到新文件夹中供你使用。

  6. 将目录切换到克隆的存储库。

    cd fabrikam-web
    

    使此命令窗口保持打开状态,以在分支中工作。

3. 在分支中工作

Git 分支 将更改与项目中正在完成的其他工作隔离开来。 建议使用 Git 工作流,该工作流对处理的每个功能或修补程序使用新的分支。 对于我们的示例,我们使用分支 users/jamal/feature1

  1. 使用 branch 命令创建分支。

    git branch users/jamal/feature1
    

    此命令在 Git 中为新分支创建引用。 它还会创建指向父提交的指针,以便 Git 可以在向分支添加提交时保留更改的历史记录。

    如果使用的是以前克隆的存储库,请确保签出正确的分支(git checkout main),并在创建新分支之前()处于最新状态。git pull origin main

  2. 用于 checkout 切换到该分支。

    git checkout users/jamal/feature1
    

    Git 会更改计算机上的文件,以匹配签出分支上的最新提交。

    提示

    从命令行创建分支时,分支基于当前签出分支。 克隆存储库时,会签出默认分支(通常main)。由于已克隆,因此本地副本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
    

4.使用代码

在以下步骤中,我们对计算机上的文件进行更改,在本地提交更改,然后将提交推送到存储在服务器上的存储库。

  1. 浏览到计算机上克隆存储库的文件夹,在所选编辑器中打开 README.md 该文件,然后进行一些更改。 然后, 保存 并关闭文件。

  2. 在 Git 命令窗口中,输入以下命令转到 contoso-demo 目录:

    cd contoso-demo
    
  3. 通过在 Git 命令窗口中输入以下命令来提交更改:

    git add .
    git commit -m "My first commit"
    

    git add .命令会暂存任何新的或更改的文件,并使用git commit -m指定的提交消息创建提交。

    在提交之前检查你正在处理的分支,这样就不会将更改提交到错误的分支。 Git 始终将新提交添加到当前本地分支。

  4. 将更改推送到服务器上的 Git 存储库。 在 Git 命令窗口中输入以下命令:

    git push origin users/jamal/feature1
    

现在,代码将共享到名为 远程存储库 的分支users/jamal/feature1中。 若要将工作分支中的代码合并到main分支中,请使用拉取请求。

5.将更改与拉取请求合并

拉取请求将对代码的评审和合并组合到一个协作过程中。 修复分支中的 bug 或新功能后,请创建新的拉取请求。 将团队成员添加到拉取请求,以便他们可以查看和投票对更改进行投票。 使用拉取请求评审正在进行的工作,及早获取更改反馈。 没有合并更改的承诺,因为可以随时放弃拉取请求。

以下示例演示创建和完成拉取请求的基本步骤。

  1. 在 Web 浏览器中打开组织的团队项目,然后选择“存储库>文件”。 如果在获取克隆 URL 后保持浏览器打开状态,只需切换回它即可。

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

    创建拉取请求

    新的拉取请求配置为将分支合并到默认分支,在本示例中为 main。 标题和说明已预先填充提交消息。

    新建拉取请求

    你可以向拉取请求添加审阅者和链接工作项。

    可以查看“新建拉取请求”窗口底部拉取请求中包含的文件。

    拉取请求中的文件

  3. 选择创建

    从“概述”选项卡查看拉取请求的详细信息。还可以从其他选项卡查看拉取请求中更改的文件、更新和提交。

  4. 选择“完成以开始完成拉取请求的过程。

    拉取请求

  5. 选择“完成合并”以完成拉取请求并将代码合并到分支中main

    完成拉取请求

    注意

    此示例演示创建和完成拉取请求的基本步骤。 有关详细信息,请参阅创建、查看和管理拉取请求

更改现已合并到main分支中,并在users/jamal/feature1远程存储库中删除分支。

查看历史记录

  1. 切换回 Web 门户,然后从“代码”页中选择“历史记录以查看新提交。

    Web 门户的屏幕截图,其中突出显示了“历史记录”

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

    自述文件屏幕截图

清理

若要删除分支的本地副本,请切换回 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 命令将删除该分支的本地副本。

后续步骤