使用VSTS的Git进行版本控制(六)——拉取请求
使用VSTS的Git进行版本控制(六)——拉取请求
在将代码合并到主干之前,拉取请求让团队对特性分支的更改提供反馈。审阅人可以通过建议修改留下评论,并投票批准或拒绝代码。
任务1:在Visual Studio的Team Explorer中创建拉取请求
1.在Visual Studio中打开Team Explorer,进入Branches页面。签出dev分支。如果没有分支,创建一个。
2.打开01_Demos_ASPNET5解决方案
3.展开MyHealth.API项目,进入Controllers文件夹,修改任何一个控制器文件,同步变更推送提交,从其他分支拉取变更。
4.现在,变更会更新到远程开发分支。
5.打开Team Explorer Home页面
6.从Team Explorer 面板打开Pull requests。从开发分支提交变更到主干。
7.选择New Pull Request连接打开浏览器窗口,在web上创建一个新的拉取请求。
8.可以关联工作项并描述在分支上的变更,以便其他人更容易地看到你正在尝试解决的问题。还可以添加评审人员。
9.点击New Pull Request创建一个新的拉取请求。将会看到概述。可以批准、添加评论或做其他的更多操作。
任务2:管理拉取请求
在web上的Code视图中的Pull Requests选项卡,管理自己的或分配给你的拉取请求。
1.在web上查看repo,打开Pull Request视图。选择Active,以显示当前repo的所有有效的拉取请求。还可以通过选择Completed(已完成的)或Abandoned(放弃的)拉取请求,拉取已关闭的拉取请求历史记录。
2.选择已分配给你的任一拉取请求。Overview选项卡显示该拉取请求的当前状态。
3.查看标题、描述和讨论,以了解所建议的更改,并查看其他评审人员提出的问题。
4.选择Files选项卡,以查看请求的源和目标分支之间的最大更改的差异。
5.从All changes下拉菜单中,查看已推送到拉取请求的源分支以前版本的代码。每当在Team Services中更新分支时,在下拉菜单和Updates选项卡中就会添加一个新版本到列表中。
6.找到要添加新注释的文件。
7.在拉取请求中添加注释提出建议,回复之前的评论,和指出修改建议的问题。
8.可以更改Tree视图查看源代码的结构或仅列出文件。还可以查看所有评论/活动评论/隐藏评论。
9.使用Updates选项卡浏览作者的更改列表。
10.可以在Commits选项卡中选择和查看在分支中提交的更改。
11.返回到Files选项卡。点击comments,查看修改后的文件的详情和评论者的评论。
新评论从Active(活动)状态开始,可以使用评论中的下拉菜单更新为:
Active:评论仍在评审中。
Resolved:评论中提出的问题已经解决。
Pending:评论中的问题将被处理,但是还没有被修复。
Won’t Fix:注意评论中的建议,但是不在这个拉取请求中做出更改来解决它。
Closed:该评论的讨论已关闭。
12.在拉取请求视图的右上角单击Approve。
默认选项是Approve,但是可以从下拉菜单中选择其他选项:
Approve with suggestions:同意拉取请求,提供可选的建议以改进代码。
Waiting for the author:不批准更改,请作者评审该评论。当已经解决了关注点,在重新检查代码后,作者应该让你知道,。
Rejected:更改不被接受。如果以这种方式投票,应该在拉取请求中留下评论,详细说明拒绝更改的原因。
13.在拉请求视图的右上角单击Complete。
14.输入用于合并提交的信息,并在接下来的对话框中更新拉取请求描述。可以选择压缩合并拉取请求,并在合并完成后删除源分支。
Squash merging是一个合并选项,当完成一个拉取请求时,允许压缩主题分支的Git历史。与主题分支上的每个提交都添加到默认分支的历史中不同,squash merge会将所有文件更改添加到默认分支上的单个新提交中。squash merge使默认分支历史保持干净,并且易于追溯,而无需要求团队进行任何工作流更改。
15.点击Complete合并。会看到一个成功消息。
16.从web回到Pull Requests,应该看到completed选项卡下完成的拉取请求。
17.打开文件视图并选择master 分支 | History,以确保变更成功合并。
18.主干分支成功更新。
动手实验
使用VSTS的Git进行版本控制(六)——拉取请求的更多相关文章
- 使用VSTS的Git进行版本控制(七)——管理仓库
使用VSTS的Git进行版本控制(七)--管理仓库 在团队项目中创建Git repo管理项目的源代码.每个Git repo都有自己的权限和分支,可以与项目中的其他工作隔离开来. 任务1:从web门户创 ...
- 使用VSTS的Git进行版本控制(四)——在Visual Studio中管理分支
使用VSTS的Git进行版本控制(四)--在Visual Studio中管理分支 可以从web版Team Services Git repo 的Branches视图中管理工作.定制视图来跟踪最关注的分 ...
- 使用VSTS的Git进行版本控制(三)——评审历史记录
使用VSTS的Git进行版本控制(三)--评审历史记录 Git使用存储在每个提交中的父引用信息来管理开发的完整历史记录.评审该提交历史记录,能够找出文件更改的时间,并确定代码版本之间的差异. Git使 ...
- 使用VSTS的Git进行版本控制(二)——提交保存工作
使用VSTS的Git进行版本控制(二)--提交保存工作 当对文件进行更改时,Git将在本地仓库中记录更改.可以通过选择变更来提交的对应更改.提交总是针对本地的Git仓库,因此不必担心提交是完美的,或者 ...
- 使用VSTS的Git进行版本控制(五)——从Team Services Portal管理分支
使用VSTS的Git进行版本控制(五)--从Team Services Portal管理分支 任务1:创建新分支 1.登录Visual Studio Team Services账号 2.打开Code ...
- 使用VSTS的Git进行版本控制(一)——复制现有仓库
使用VSTS的Git进行版本控制(一)--复制现有仓库 概述 Team Services支持两种类型的版本控制Git和Team Foundation Version Control (TFVC).以下 ...
- git从远程仓库拉取内容或向远程仓库上传内容
一.将本地文件上传到远程仓库步骤 git init git add . git commit -m "初始框架" git remote add origin https://git ...
- Azure DevOps Server: 使用Rest Api获取拉取请求Pull Request中的变更文件清单
需求: Azure DevOps Server 的拉取请求模块,为开发团队提供了强大而且灵活的代码评审功能.拉取请求中变更文件清单,对质量管理人员,是一个宝贵的材料.质量保障人员可以从代码清单中分析不 ...
- 创建一个项目并在GitHub上发出拉取请求
1.第一步:创建存储库 创建新存储库: New repository 命名存储库 写一个简短的描述 选择使用自述文件初始化此存储库 2.第二步:创建一个分支 创建一个新分支 转到新的存储库hello- ...
随机推荐
- python itchat+机器人web api实现个人微信机器人
模块 itchat 功能 实现微信回复机器人(调用图灵机器人api) 代码 #!/usr/bin/env python3 # -*- coding: utf-8 -*- #Author:Eric im ...
- .NET Core跨平台微服务学习资源
一.Asp.net Core基础 微软英文官网:https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-2.1 .NET Core: ...
- UNPIVOT
UNPIVOT UNPIVOT则相反,把数据从列旋转到行 SELECT * INTO product_vlues FROM ( SELECT NAME , ...
- 从零开始学 Web 之 ES6(二)ES5的一些扩展
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 多线程读者写者问题--用QT实现
先把代码贴上来,有时间再整理吧..因为工作中用Qt,所以用Qt实现的....刚上班,,忙! 三种方法,读者优先,写者优先和公平竞争.. 读者优先 #include <QCoreApplicati ...
- 如何在Lua与C/C++之间实现table数据的交换
之前在<C/C++和Lua是如何进行通信的?>一文中简单的介绍了lua与宿主之间的通信.简单的说两种不同的语言之间数据类型不一样又如何进行数据交换呢?那就是lua_State虚拟栈,通过栈 ...
- Linux的进程线程及调度
本文为宋宝华<Linux的进程.线程以及调度>学习笔记. 1 进程概念 1.1 进程与线程的定义 操作系统中的经典定义: 进程:资源分配单位. 线程:调度单位. 操作系统中用PCB(Pro ...
- python学习笔记02--列表和元组
一.简介 数据结构是通过某种方式组织在一起的数据元素的集合. 序列是python中最基本的数据结构,python中包含6种内建的序列,分别是列表.元组.字符串.Unicode字符串.buffer对象和 ...
- js判断字符串是否在数组中
先加一个扩展函数: Array.prototype.contains = function (obj) { var index = this.length; while (index–) { ...
- 后台MemoryStream图片流用ajax接收乱码问题
MemoryStream ms = new MemoryStream(); //要先把二进制流进行编码,再传输,解决乱码问题 Convert.ToBase64String(ms.ToArray()); ...