您现在的位置是:首页 >技术教程 >为github项目提交补充(pr)教程网站首页技术教程

为github项目提交补充(pr)教程

starnight531 2024-06-17 00:01:02
简介为github项目提交补充(pr)教程

提交pr

前言

Vue框架:从项目学Vue
OJ算法系列:神机百炼 - 算法详解
Linux操作系统:风后奇门 - linux
C++11:通天箓 - C++11
Python常用模块:通天箓 - Python

为github提交补充

什么是PR:

"PR" 是 Pull Request 缩写的称谓。
在开源软件开发中,一个 Pull Request 是指将你所做的更改推送到一个开源项目的代码库中并请求该项目的维护者们审查并接受你的修改。

Fork:

  • 点击项目主页右上角Fork叉子图标,将项目拷贝到自己的github仓库中:Fork

  • 注意默认只拷贝项目的default分支文件到新仓库,若拷贝全部项目,取消√:
    main branch

git clone自己仓库:

  • 从自己仓库进入Fork的项目,发现网页路由和Git路由都改为了自己名称下的路径:
    fork

  • 在vscode中打开一个预备存放项目的文件夹,Ctrl + 、打开控制台,执行clone命令:

git clone 上图code按钮下的HTTPS链接或者SSH链接

clone

  • clone成功后,文件夹下多一个项目文件夹,进入后可查看更多信息:
cd 目标文件夹              《用于进入目标文件夹》
git status               《查看当前项目改动情况,以及目前所在分支》
git branch -a            《查看所有分支》

branch对应网页这个按钮:
branch

git remote add upstream和他人仓库建立关系:

  • 使用git remote -v查看当前本地文件夹和git仓库之间关系:目前关联自己仓库
    在这里插入图片描述
  • 使用git remote add upstream 原本项目网址 和原本项目建立关联
    • 原项目网址在原本项目的code按钮下:
      code
    • 如果git remote add upstream 错误网址,可用git remote rm upstream取消关联
    • 关联成功后,可见origin和upstream不同源

git checkout branch名切换分支:

  • 很可能要修改的代码不在default分支里面,需要先git checkout切换分支:
    • 注意!不要用!不要用!不要用!git checkout -b,因为 -b 是新建分支。
      checkout

开始DIY项目文件:

  • 这时要DIY的项目代码都在Vscode左侧文件列表里面了,可以随便增删改:
    修改代码

推送修改到自己仓库:

  • 可以直接在master的分支,也可以新建一个分支进行推送。
    • 如果git log发现只有(Head),没有(Head -> 本地分支,云端分支)
    • 需要及时checkout 连接到目标分支:
git checkout -b lab4 origin/lab4
本地创建一个lab4分支,和自己云端仓库lab4关联,切换到这个本地仓库

在这里插入图片描述

  • 修改完成后,使用git status查看修改内容:
    git status
  • 使用git add . + git commit -m “提交说明”,将修改提交到中转站:
    add.
  • 使用git push origin 目标分支名,将修改从中转提交到origin仓库:
    • 所有分支名通过git branch -a查看
      git push origin

空Head问题:

  • 当git add、git commit 和 git push之后,发现自己网页仓库没有变化,很可能就是上文说的git Head指针

cherry pick:

  1. git log 记录 commit号,多次commit就有多个
  2. 切换到和目标推送到远端branch所关联的本地branch,切换之后git log发现(Head -> 本地分支,云端分支)
  3. git cherry-pick commit号码1 commit号码2 commit号码3 …,空格隔开commit号
  4. 成功之后再git push origin 目标分支 一次即可

git reset:

  1. 若cherry-pick 错误的commit号码,可以git cherry-pick --abort,之后git log发现pick的号码都无了
  2. 可以通过git reset 第一步中最新一次commit号,找回所有丢失的commit号
  3. git log查看是否有目标commit号,有的话继续一次git push origin 目标分支

推送完成,提交PR:

  • 成功push之后网页有提示:
    push
  • 点击Compare & pull request,查看PR内容。
    PR
  • 可以create pull request发起PR请求,也可以create draft pull request仅保留草稿。
    create PR

修改PR:

  • 提交到源项目之后,会有审核提供修改意见,一般是按照行单位提供意见:
    +
  • 只需要在本地做出修改后,git add + commit + push,PR随之修改。

后记:

  • 感谢OS课设 李弘宇 老师回答我关于TLSF内存管理疑问,耐心解决了我遇到的许多git的白痴问题,祝福一切顺利。
  • Rust实时操作系统实验非常有含金量,自己实现一个malloc和free,了解了很多底层内存管理,作为五一假期的结束很精彩。
  • 第一次向开源项目提交PR,很激动。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。