git、github保姆级教程(手把手交)以及如何在github上提交pr,参与开源项目
git、github保姆级教程(手把手交)以及如何在github上提交pr,参与开源项目
一、git的安装
直接参考 git官方网站:https://git-scm.com/
二、git的使用(从新手到大佬)
该节所用到的命令有:
# 查看本地是否成功安装了git
git version# 将本地的项目进行初始化
git init# 配置你使用git的昵称和邮箱
git config --global user.name "你自己的昵称"
git config --global user.email "你自己的邮箱"# 这里点号表示当前目录的所有文件,添加进去后,git只是暂时保存,还不会保存提交记录
git add .# 提交本地的代码,并标志为”第一次提交“
git commit -m "第一次提交"# 查看git查看的日志信息
git log# 想要重新回到某个版本,但是有一点需要注意的是:在回到的那个版本之后提交的记录都会被删除
git reset --hard 提交记录的id# 创建一个名为0.2分支
git branch 0.2# 切换分支
git checkout master# 合并分支,将0.2分支合并至master分支上
git merger 0.2
以下为具体的详细过程:
- 从一个案例讲起:
- 准备的环境:git,以及vscode,没有vscode的直接用终端也行,本人用的是macOS的系统
- 案例的具体实现过程
- 在桌面上准备一个文件夹,命名为:re01,然后利用vscode打开
- 然后在 vscode 中创建一个 text.txt 文件,如下:
- 打开终端,输入git命令,查看是否安装git成功
git version
- 配置一下自己的昵称和邮箱
git config --global user.name "你自己的昵称"
git config --global user.email "你自己的邮箱"
- 在当前目录进行git项目初始化
git init
- 将文件添加至git版本控制系统中
# 这里点号表示当前目录的所有文件,添加进去后,git只是暂时保存,还不会保存提交记录
git add .
- 将暂时保存的变更提交固定成一个版本
git commit -m "第一次提交"
- 查看一下提交的信息
git log
- 回退到某个版本。需要注意的点:git reset不仅回退了,也把后面提交的都清退了
git reset --hard 提交记录的id
- 在不同的版本中进行切换,则需要创建分支
# 创建一个名为0.2分支
git branch 0.2
- 切换分支并合并
# 切换分支
git checkout master
# 合并分支,将0.2分支合并至master分支上
git merger 0.2
三、如何将本地代码推送至远端的github仓库
1、准备环境
- 首先创建一个github账号
2、创建一个github仓库,命名为re01_test
创建完后的界面
3、随便找个文章放入这个文件中,仅仅作为案例,然后再重复上面的git操作
然后进行git操作:
# 将所有文件添加暂存起来
git add .
# 提交本地
git commit -m "init"
4、开始推送至远端的github仓库
# 由于现在的github默认的都是main分支,而本地仍然是使用master分支,因此需要在本地创建一个main分支
# 这个命令是将master分支重命名为main分支
git branch -M main# 将本地与远程github仓库建立连接
git remote add origin 具体仓库地址(http和ssh地址都可)# 将本地代码推送至远程的github仓库
git push -u origin main
5、重新刷新原来的github代码仓库,即可以看到
四、如何在github上参与开源项目
4.1 找到开源项目的地址
# 举个例子,我是随便在另一个github账号上创建一个仓库,来作为平时你将要参与的开源项目(只做演示)
https://github.com/lyfCSU/github_test.git
如下:
4.2 找到该开源项目地址,然后fork一下,就可以把开源项目的代码复制到你的github账号里
操作后,你自己的github仓库如下:
4.3 点击自己github仓库的github_test项目的Code按钮,复制http或者ssh的链接,例如我复制的是ssh链接为:git@github.com:Chasing987/github_test.git
4.4 然后,在本地新建一个re01_fork(这个文件夹的名字可以随便命名,最好不要有中文即可
)文件夹用vscode打开,然后将代码复制下来
# 将fork至你自己github账号的github_test项目复制到本地
git clone git@github.com:Chasing987/github_test.git .
4.5 通过git remote -v
查看是不是只有你自己的仓库的链接,如果是,则需要通过通过下面的命令链接上游代码库
# 查看远程仓库的链接有哪些
git remote -v# 添加上游代码库的命令
git remote add upstream git@github.com:lyfCSU/github_test.git
4.6 如果你要添加功能,你可以先创建分支,在分支上添加功能
# 创建一个分支并切换至该分支上
git checkout -b lyf0618
4.7 然后,添加功能,随便添加点内容或者文件啥的,例子如下:
4.8 使用git操作命令,最后推送这远端的github仓库
git add .
git commit -m "add(member):lyf"
git push -u origin lyf0618
4.9 然后,回到自己的github仓库,刷新一下,就可以有这个分支了
4.10 点击Compare & pull request
,创建一个pr
随后,就出现下面这个页面了
4.11 将这个pr合并到main分支
这样,就已经创建好了pr
4.12 这样,就可以在远端开源的github项目中就可以看到自己提交的pr了
4.13 在开源项目那端,只需要合并即可
git、github保姆级教程(手把手交)以及如何在github上提交pr,参与开源项目相关推荐
- Git仓库 保姆级教程
Gitee的使用教程 一.Git仓库介绍 1.概念 2.Git 文件的三种状态&工作模式 二.Git 的安装 1.Git下载 2.Git安装 三.Git的使用 1.创建账户 2.Git的基础指 ...
- ACME网站证书自动化保姆级教程
更好的阅读体验和更多文章请移步Blog: https://blog.zhou.icu/archives/acme网站证书自动化保姆级教程 本文参考(复制)自:使用 GitHub Actions 自动申 ...
- 保姆级教程:手把手教你搭建个人网站
保姆级教程:手把手教你搭建个人网站 前言 准备与搭建 1.Git管理工具的下载与安装 2.nodejs环境安装 3.hexo博客框架下载 npm换国内源 使用npm下载hexo博客框架 初始化mybl ...
- github博客自动同步到gitee(保姆级教程)
github博客自动同步到gitee(保姆级教程) 前言: 由于国内网访问github实在太慢!虽然在公司可以连接外网访问还算可以,但是回学校想看看博客或者分享给别人的时候经常会崩掉!于是我想可不可以 ...
- ❤️周末爆肝两天❤️,万字长文,手把手教你配置CSDN主页的独特域名(保姆级教程,建议收藏)
❤️ 感受下效果图 ❤️ 目录 一.前言 二.先解决有没有的问题 1. 前置条件 2. 购买云服务器 3. 购买DNS域名 4. 配置Apache2服务 5. 配置云服务器的端口映射 6. 配置ngi ...
- 【NLP保姆级教程】手把手带你RNN文本分类(附代码)
写在前面 这是NLP保姆级教程的第二篇----基于RNN的文本分类实现(Text RNN) 参考的的论文是来自2016年复旦大学IJCAI上的发表的关于循环神经网络在多任务文本分类上的应用:Recur ...
- ac2100 反弹shell无法粘贴_手把手带你玩转NAS 篇二十一:小米Redmi AC2100路由器刷机padavan保姆级教程...
手把手带你玩转NAS 篇二十一:小米Redmi AC2100路由器刷机padavan保姆级教程 2020-05-14 18:49:24 224点赞 1790收藏 241评论 你是AMD Yes党?还是 ...
- 小白手把手保姆级教程:操作Win11扩充C盘(把D盘内存分给C盘)/及分盘操作、win11的BitLocker解密、亲测多次有效!
有些小伙伴的电脑里只有一个c盘,或有c盘外加一个其他磁盘想分更多的盘的情况以及多个盘想管理磁盘或者给c盘扩容的可以看此篇文章. 纯小白手把手教程,内容比较详细比较长,尽量保证任何电脑小白都能跟着操作成 ...
- 保姆级教程,如何发现 GitHub 上的优质项目?
先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个靠才华苟且的程序员. 本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. ...
最新文章
- 应用按home键无最近应用
- 【ArcGIS Pro微课1000例】0003:ArcGIS pro 2.5加载OSGB点云模型案例教程
- 【JS 逆向百例】房天下登录接口参数逆向
- vscode格式化关于符合eslint检测语法配置
- Introduction to Materials Management 学习笔记--生产计划系统
- matlab jar包,Matlab 將m文件打包成jar包 (二)使用jar包
- 常用的关系型数据库的优劣与选择
- Linux有哪些目录命令,linux最常用的20个命令有哪些
- 华为畅享8的悬浮窗在哪里_1299元起,更大超清屏幕+强劲续航 华为畅享20 SE发布...
- 安装指定的vue-router版本
- (好文章搬个砖)MySQL索引背后的数据结构及算法原理
- 网页如何更改为黑白效果
- 电脑USB口输出的是什么电平
- php scada,科远风场SCADA系统的应用
- Python实现烟花效果,祝大家2021年,牛年大吉。
- 我的第一个JDBC小项目
- 030 | 广西趣海有限责任公司创业计划书 | 大学生创新训练项目申请书 | 极致技术工厂
- 集成电路之父Jack Kilby鲜为人知的故事
- 大数据中心的解决方案,主要有哪些特点?
- 分享一个蓝月传奇3D手游辅助脚本,需要的可以看一下
热门文章
- oracle数据库_实例_用户_表空间之间的关系
- 关于android 手机硬件加速问题
- supervisord
- c语言精灵宝可梦对战游戏,精灵宝可梦究极日月模拟器金手指代码大全
- w7上 android模拟器,win7系统运行安卓模拟器的操作方法
- 语音识别 公司_语音识别公司_语音识别公司排名 - 云+社区 - 腾讯云
- 为什么大部分公司的数据库系统仍然要使用oracle?
- 运用计算机控制系统实现逆变过程,电大机电一体化复习题期末复习题(知识点复习考点归纳总结参考)...
- 词表大小越界错误 indexSelectLargeIndex
- Win10使用FTP实现手机访问电脑FTP服务