与 Git 共享代码
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
使用 Git 存储库时,请在 Azure DevOps 中与他人共享代码。
先决条件
必须在 Azure DevOps 中有一个组织和项目。 创建项目时,Azure DevOps 会自动在 Repos 中创建空存储库。
1.安装 Git 命令行工具
安装以下 Git 命令行工具之一:
- 适用于 Windows 和 Git 凭据管理器的 Git。
- 适用于 macOS 或 Linux 的 Git。 对于 macOS 和 Linux,建议配置 SSH 身份验证。
2.将存储库克隆到计算机
若要使用 Git 存储库,请将其克隆到计算机,从而创建存储库的完整本地副本。 代码可能位于多个位置之一。
完成适用于你的方案的以下步骤:
- 如果 还没有任何代码,请先 在项目中创建新的 Git 存储库,然后完成下一步。
- 如果 代码位于另一个 Git 存储库(如 GitHub 存储库或其他 Azure 存储库实例)中, 请将其导入新的或现有的空 Git 存储库,然后完成下一步。
- 如果 代码位于本地计算机上且尚未在版本控制中, 请在项目中 创建新的 Git 存储库,或将代码添加到现有存储库。
在 Web 浏览器中,打开组织的团队项目,然后选择“存储库>文件”。
选择“克隆”。
复制 URL。
打开 Git 命令窗口(适用于 Windows 的 Git 上的 Git Bash)。 转到要从存储在计算机上的存储库中的代码的文件夹,然后运行
git clone
,然后运行上一步中从 克隆 URL 复制的路径。 请参阅以下示例:git clone https://FabrikamFiber01@dev.azure.com/FabrikamFiber01/FabrikamFiber01-01/_git/FabrikamFiber01-01
将目录切换到克隆的存储库。
cd fabrikam-web
使此命令窗口保持打开状态,以在分支中工作。
3. 在分支中工作
Git 分支 将更改与项目中正在完成的其他工作隔离开来。 建议使用 Git 工作流,该工作流对处理的每个功能或修补程序使用新的分支。 对于我们的示例,我们使用分支 users/jamal/feature1
。
使用
branch
命令创建分支。git branch users/jamal/feature1
此命令在 Git 中为新分支创建引用。 它还会创建指向父提交的指针,以便 Git 可以在向分支添加提交时保留更改的历史记录。
如果使用的是以前克隆的存储库,请确保签出正确的分支(
git checkout main
),并在创建新分支之前()处于最新状态。git pull origin main
用于
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.使用代码
在以下步骤中,我们对计算机上的文件进行更改,在本地提交更改,然后将提交推送到存储在服务器上的存储库。
浏览到计算机上克隆存储库的文件夹,在所选编辑器中打开
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 命令窗口中输入以下命令:
git push origin users/jamal/feature1
现在,代码将共享到名为 远程存储库 的分支users/jamal/feature1
中。 若要将工作分支中的代码合并到main
分支中,请使用拉取请求。
5.将更改与拉取请求合并
拉取请求将对代码的评审和合并组合到一个协作过程中。 修复分支中的 bug 或新功能后,请创建新的拉取请求。 将团队成员添加到拉取请求,以便他们可以查看和投票对更改进行投票。 使用拉取请求评审正在进行的工作,及早获取更改反馈。 没有合并更改的承诺,因为可以随时放弃拉取请求。
以下示例演示创建和完成拉取请求的基本步骤。
在 Web 浏览器中打开组织的团队项目,然后选择“存储库>文件”。 如果在获取克隆 URL 后保持浏览器打开状态,只需切换回它即可。
选择“文件”窗口右上角的“创建拉取请求”。 如果当前未看到用户/jamal/feature1 等消息,请刷新浏览器。
新的拉取请求配置为将分支合并到默认分支,在本示例中为
main
。 标题和说明已预先填充提交消息。你可以向拉取请求添加审阅者和链接工作项。
可以查看“新建拉取请求”窗口底部拉取请求中包含的文件。
选择创建。
从“概述”选项卡查看拉取请求的详细信息。还可以从其他选项卡查看拉取请求中更改的文件、更新和提交。
选择“完成”以开始完成拉取请求的过程。
选择“完成合并”以完成拉取请求并将代码合并到分支中
main
。注意
此示例演示创建和完成拉取请求的基本步骤。 有关详细信息,请参阅创建、查看和管理拉取请求。
更改现已合并到main
分支中,并在users/jamal/feature1
远程存储库中删除分支。
查看历史记录
切换回 Web 门户,然后从“代码”页中选择“历史记录”以查看新提交。
切换到 “文件 ”选项卡,然后选择自述文件以查看更改。
清理
若要删除分支的本地副本,请切换回 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
命令将删除该分支的本地副本。