Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
使用 Git 存储库时,在 Azure DevOps 中与他人共享代码。
先决条件
类别 | 要求 |
---|---|
项目访问权限 | 项目成员. |
Git 命令行工具 | 以下 Git 命令行工具之一: - Git for Windows 和 Git Credential Manager。 - Git for macOS 或 Git for Linux。 对于 macOS 和 Linux,建议配置 SSH 身份验证。 |
1.将存储库克隆到计算机
若要使用 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
保持此命令窗口打开,以便在分支中工作。
2. 在分支中工作
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
3. 使用代码
在以下步骤中,我们对计算机上的文件进行更改,在本地提交更改,然后将提交推送到存储在服务器上的存储库。
浏览到计算机上要在其中克隆存储库的文件夹,然后在选择的编辑器中打开
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
分支中,请使用拉取请求。
4. 将更改与拉取请求合并
拉取请求将对代码的评审和合并组合到一个协作过程中。 当你在分支中修复 bug 或新功能后,请创建一个新的拉取请求。 将团队成员添加到拉取请求中,以便他们可对你所作的更改进行评审和投票。 使用拉取请求评审正在进行的工作,及早获取更改反馈。 所有者可随时放弃拉取请求,因此不保证会合并更改。
以下示例演示创建和完成拉取请求的基本步骤。
在 Web 浏览器中打开你组织的团队项目,然后选择“存储库”>“文件”。 如果你在获取克隆 URL 后保持浏览器打开,只需切换回它即可。
在“文件”窗口的右上角选择“创建拉取请求”。 如果你没有看到类似“你刚才更新了 users/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
命令将删除该分支的本地副本。