当前位置: 首页 > news >正文

GitHub pull request(傻瓜式入门版)

基础入门版

  • pull request
    • 一、fork项目
    • 二、clone代码到本地
    • 三、进入到克隆的项目目录下
    • 四、列出所有分支
    • 五、创建一个本地分支,并追踪远程项目分支
    • 六、查看当前分支
    • 七、与远程仓库建立连接
    • 八、与上游仓库建立连接
    • 八、同步最新代码
    • 九、修改代码并提交
    • 十、提交pr

pull request

Pull Request(拉取请求)是一种非常重要的协作机制,它是 Git 和 GitHub 等代码托管平台中常见的功能。在开源项目中,Pull Request 被广泛用于参与社区贡献,从而促进项目的发展。

一、fork项目

先登录自己的github账户,找到自己要提pr的项目。这里我们以datawhalechina/grape-book为例:

fork

如果要fork全部分支,记得一定要去掉只选择主分支的对勾(默认是只选择主分支)

在这里插入图片描述

等待几秒之后,进入主页就可以看到fork后的项目副本到自己的仓库目录下了。

二、clone代码到本地

在这里插入图片描述

执行 git clone 命令,将此副本 clone 到本地(推荐使用ssh的形式,可以避免输入用户名和密码)。即在本地的某个目录下,打开命令行,输入如下代码

git clone 红色框的地址

在这里插入图片描述

这样子代表已经成功

三、进入到克隆的项目目录下

执行 cd 克隆项目地址 命令,进入项目目录下。即在本地的某个目录下,打开命令行,输入如下代码。

在这里插入图片描述
像这样子,代表已经成功。

四、列出所有分支

执行git branch -a命令,确认下是否克隆下所有分支项目

在这里插入图片描述

如图所示,项目四个分支已经全部clone到本地

五、创建一个本地分支,并追踪远程项目分支

执行git checkout -b v2 origin/v2命令,即在本地创建一个名为v2的分支,并将其设置为跟踪远程的v2分支。现在,你可以在本地进行v2分支上的工作。

六、查看当前分支

为了确保所有操作不犯错,我们在修改内容前,需要再一次确认下当前分支,执行git branch命令,即查看当前分支
在这里插入图片描述
如图所示,现在是v2分支。

七、与远程仓库建立连接

查看分支之后,我们看看是否与远程仓库建立了连接
在这里插入图片描述

可以看到,已经建立连接,

  • (fetch) 表示该 URL 地址用于获取远程仓库的代码(即拉取操作)。
  • (push) 表示该 URL 地址用于向远程仓库推送本地仓库的代码。

八、与上游仓库建立连接

接下来还需要与上游建立连接,这里上游指的是一开始fork的那个项目源,即datawhalechina/grape-book

执行git remote add upstream 地址,示例

git remote add upstream https://github.com/datawhalechina/grape-book.git

此时,我们再输入git remote -v,就可以看到本地已经和远程仓库以及上游建立了连接。

在这里插入图片描述

  • origin 它的拉取作用是获取用户在 GitHub 上的 grape-book 仓库的代码。它的推送作用是将本地修改的代码推送到 用户在 GitHub 上的 grape-book 仓库中。
  • upstream 它的拉取作用是获取来自 上游成员在 GitHub 上的 grape-book 仓库的代码。它的推送作用是将本地修改的代码推送到上游在 GitHub 上的 grape-book 仓库中。

八、同步最新代码

这么做的原因是当你在开发时,如果多人协作开发同一个项目,那么可能其他人也在修改代码并提交到仓库中。如果你 fork 了这个项目的代码,那么你 fork 的代码可能已经不是最新的了,因此需要及时更新代码,以保证你的代码与仓库中最新的代码保持同步。

命令行输入以下代码:

 git fetch upstream/v2

即,从上游仓库 upstream 中获取分支 v2 的最新代码,并将最新的代码合并到你当前的分支。

九、修改代码并提交

修改完毕后,提交变更的代码:

git add.
git commit -m 'update'
git push -u origin v2:v2

即将本地的 v2 分支推送到名为 origin 的远程仓库的 v2 分支上,并通过 -u 参数建立本地 v2 分支与远程 v2 分支之间的追踪关系。

十、提交pr

我们回到自己仓库的项目主页,可以看到刚才提交的记录,则表示之前的操作都已成功。接下来,点击箭头所指的Pull Requests选项。

在这里插入图片描述

点击箭头所指的New pull request按钮

在这里插入图片描述

接下来,点击Creat pull request即可提交成功。

在这里插入图片描述

最后,只需耐心等待管理员的审核即可。开源项目的所有pr记录可以在这里查看,包括你刚才提交的。

在这里插入图片描述

如果你的提交被审核通过,则会像下面这个这样,显示All checks have passed
在这里插入图片描述

相关文章:

  • STM32F103RCT6使用数据手册及应用示例程序分享
  • 【Spring Boot】SpringMVC入门
  • 【测试发布】
  • C语言基础语法跟练
  • Linux网络配置与抓包工具介绍
  • Pytorch将标签转为One-Hot编码
  • 模型的权值平均的原理和Pytorch的实现
  • Spark与云存储的集成:S3、Azure Blob Storage
  • 基于JavaWeb+BS架构+SpringBoot+Vue协同过滤算法的体育商品推荐系统的设计和实现
  • 2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷⑦
  • 【Qt之Quick模块】8. Quick基础、布局管理、布局管理器
  • U-Boot学习(2):U-Boot编译和.config配置文件生成分析
  • 一、Mybatis 简介
  • C //练习 5-4 编写函数strend(s, t)。如果字符串t出现在字符串s的尾部,该函数返回1;否则返回0。
  • 微信小程序:发送小程序订阅消息
  • Codepen 每日精选(2018-3-25)
  • Consul Config 使用Git做版本控制的实现
  • flutter的key在widget list的作用以及必要性
  • HTML-表单
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Linux下的乱码问题
  • MySQL用户中的%到底包不包括localhost?
  • Python 反序列化安全问题(二)
  • Python学习之路16-使用API
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • webgl (原生)基础入门指南【一】
  • 编写高质量JavaScript代码之并发
  • 多线程 start 和 run 方法到底有什么区别?
  • 观察者模式实现非直接耦合
  • 基于Android乐音识别(2)
  • 记一次删除Git记录中的大文件的过程
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 使用 Docker 部署 Spring Boot项目
  • mysql面试题分组并合并列
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (42)STM32——LCD显示屏实验笔记
  • (day 12)JavaScript学习笔记(数组3)
  • (function(){})()的分步解析
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十六)一篇文章学会Java的常用API
  • (算法)N皇后问题
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (一)WLAN定义和基本架构转
  • (转)详解PHP处理密码的几种方式
  • (转载)Linux网络编程入门
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • **python多态
  • .naturalWidth 和naturalHeight属性,
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Reactor简单使用教程