最新要闻
- 观天下!假的!马斯克否认修改算法推荐自己帐号 将追责说谎员工
- 环球微动态丨颠覆性创新 潍柴全球首发大功率SOFC燃料电池:研发花了20亿
- 全球聚焦:北江纺织:拟冲刺上交所IPO上市,预计募资4.22亿元,近年综合毛利率逐年下降
- 【环球速看料】五菱会玩!城市玩乐潮品SUV悦也“小书包”是块屏:可自定义内容
- 天天看点:打造名族品牌!杨元庆:联想核心生产制造还是立足中国
- 全球头条:超越GPS主导国内导航定位 北斗日定位量超3000亿次
- 焦点简讯:努比亚Z50 Ultra保护壳泄漏:后置摄像模组巨大无比
- 全球快看:院士称我国已经具备ChatGPT算力基础 关键在如何爆发
- 全球新消息丨工作至死:日本789万老人还在打零工
- 资讯:菲律宾一飞机早上起飞后失联:近期第二起
- 快播:橙色奶油冰淇淋层蛋糕食谱
- 世界要闻:精装版吉利星越L?领克DX11最新谍照曝光:首上魅族车机
- 天天消息!秒美国资费!每月198 还能更便宜:我国千兆宽带将全面普及 第二批城市名单来了
- 高尔夫美女参战《蚁人3》
- 网友曝光《狂飙》拍摄地有人竖牌“拍视频5元1次”:官方回应来了
- 天天精选!三亚去世侏儒抹香鲸被解剖:胃内有大量塑料/线虫 导致无法进食
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
GitHub 入门 与 2023年2月18日10:29:02
用 GitHub 有一段时间了,之前一直用来做 Hexo 的服务器,直到前阵子搞 GitHub Action 因为命令不熟,把 GitHub 上的源码强制拉到本地把本地的 Hexo 搞崩了,博客源码都没了 ,哭辽 。。。
参考内容:
(资料图片)
- 《GitHub入门与实践 (大塚弘记) 》
今天周六
好消息:今天周六
坏消息:今天阴天
什么是 Github
GitHub 是为开发者提供 Git 仓库的托管服务,这是一个让开发者与 朋友、同事、同学及陌生人共享代码的完美场所。GitHub 除提供 Git 仓库的托管服务外,还为开发者或团队提供了一 系列功能,帮助其高效率、高品质地进行代码编写。
GitHub 与 Git 的区别
在 Git 中,开发者将源代码存入名叫“Git 仓库”的资料库中 并加以使用。而 GitHub 则是在网络上提供 Git 仓库的一项服务。 也就是说,GitHub 上公开的软件源代码全都由 Git 进行管 理。理解 Git,是熟练运用 GitHub 的关键所在。
Git 的导入
Git 仓库管理功能是 GitHub 的核心。因此,使用 GitHub 之前必须 先掌握 Git 的相关知识,同时本地的设备还要安装 Git 的环境。Git 属于分散型版本管理系统,是为版本管理而设计的软件。版本管理就是管理更新的历史记录。它为我们提供了一些在软件开 发过程中必不可少的功能,例如记录一款软件添加或更改源代码的过 程,回滚到特定阶段,恢复误删除的文件等。
安装 Git
初始配置:姓名和邮箱地址
$ git config --global user.name "Firstname Lastname"$ git config --global user.email "example_email@example.com"
SSH Key
GitHub 上连接已有仓库时的认证,是通过使用了 SSH 的公开密钥 认证方式进行的。
创建 SSH Key
$ ssh-keygen -t rsa -C "example_email@example.com"Generating public/private rsa key pair.Enter file in which to save the key (/c/Users/***/.ssh/id_rsa):Created directory "/c/Users/***/.ssh".Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /c/Users/***/.ssh/id_rsaYour public key has been saved in /c/Users/***/.ssh/id_rsa.pubThe key fingerprint is:***************************************************The key"s randomart image is:****************************************************
id_rsa 文件是私有密钥,id_rsa.pub 是公开密钥。
添加公开密匙
cat ~/.ssh/id_rsa.pub
可以查看公开密匙内容GitHub 账户 => 设置 => SSH Keys => Add SSH Key
添加成功之后,创建账户时所用的邮箱会接到一封提示“公共密钥 添加完成”的邮件。完成以上设置后,就可以用手中的私人密钥与 GitHub 进行认证和 通信了。
ssh -T git@github.com
- GitHub 创建仓库说明
尝试在已有仓库中添加代码并加以公开
git clone git@github.com:xxx/Hello-GitHub.git
cd Hello-GitHub/
手动在目录下创建一个文件,并添加至 GitHub 仓库。通过 git add
命令将文件加入暂存区 A,再通过 git commit
命令 提交。 添加成功后,可以通过 git log
命令查看提交日志。
之后只要执行 push,GitHub 上的仓库就会被更新:
git push 常见错误:! [rejected]
当本地仓库与远程仓库版本不一致时会出现该问题,养成先 pull 最新代码再修改的习惯即可 ,在修改本地代码前,先使用 git pull 拉取远程最新代码,然后再进行修改(推荐--rebase)
git pull 远程仓库名 远程分支名 --rebase
也可强制推送【仅推荐在确认代码没问题的情况下使用】:
git push --force
详细说明,请参考:
上述操作就是初次在 GitHub 建立仓库以及公开代码的流程
Git 学习
常用命令
基本操作 | 操作说明 | 具体演示 |
---|---|---|
git init 初始化仓库 | 使用 Git 进行版本管理必须先初始化仓库,如果初始化成功,会在目录下生成 .git 隐藏目录,里面存储着管理当前目录内容所需的仓库数据,这个目录被称为“附属于该仓库的工作树”。 | |
git status 查看仓库状态 | 工作树和仓库在被操作的过程中,状态会不断发生变化。在 Git 操 作过程中时常用 git status命令查看当前状态,可谓基本中的基本。 | |
git add 向暂存区添加文件 | 如果只是用 Git 仓库的工作树创建了文件,那么该文件并不会被记入 Git 仓库的版本管理对象当中。因此我们用 git status 命令查看 README.md 文件时,它会显示在 Untracked files 里。要想让文件成为 Git 仓库的管理对象,就需要用 git add命令将其加入暂存区(Stage 或者 Index)中。暂存区是提交之前的一个临时区域。 | ----- |
git commit 保存仓库的历史记录 | git commit命令可以将当前暂存区中的文件实际保存到仓库的历 史记录中。通过这些记录,我们就可以在工作树中复原文件 | git commit -m "First commit" 提交信息,不加 - m ,会进入比较详细的提交信息编写 |
git log 查看提交日志 | g i t l o g命令可以查看以往仓库中提交的日志git log --pretty=short 可以只显示第一行简述信息git log xxx.xx 只要在 git log命令后加上目录名,便会只显示该目录下的日志。 如果加的是文件名,就会只显示与该文件相关的日志。$ git log -p 如果想查看提交所带来的改动,可以加上 - p参数,文件的前后差 别就会显示在提交信息之后。可在 - p 加上具体内容来查看具体文件提交前后差别 | |
git diff 查看更改前后 的差别 | git diff命令可以查看工作树、暂存区、最新提交之间的差别。不妨养成这样一个好习惯:在执行 git commit 命令之前先执行 git diff HEAD 命令,查看本次提交与上次提交之间有什么差别,等 确认完毕后再进行提交。这里的 HEAD 是指向当前分支中最新一次提交 的指针 |
分支操作
master 分支是 Git 默认创建的分支。
基本操作 | 操作说明 | 具体演示 |
---|---|---|
git branch 显示分支一览表 | git branch命令可以将分支名列表显示,同时可以确认当前所在 分支(*)。 | |
git checkout -b 创建、切换分支 | git branch feature-XXX git checkout feature-XXX git checkout - 切换回上一分支 | 当新建一个本地仓库的时候没有任何操作的情况下操作分支时就会出现这样一个报错信息,根据提示可以知道是因为没有一个叫"master"的提交对象,如果你使用git branch 会发现分支列表没内容,这是因为你首先需要进行一次提交操作,因为分支的指针是要指向提交的,但是进行一次提交就需要有一次 add 操作,所以在新建一个本地仓库后最好就进行一次 add => commit 操作。 |
特性分支 | 特性分支顾名思义,是集中实现单一特性(主题),除此之外不进 行任何作业的分支。在日常开发中,往往会创建数个特性分支,同时在 此之外再保留一个随时可以发布软件的稳定分支。稳定分支的角色通常 由 master 分支担当。 | 之前我们创建了 feature-A 分支,这一分支主要实现 feature-A,除 feature-A 的实现之外不进行任何作业。即便在开发过程中发现了 BUG, 也需要再创建新的分支,在新分支中进行修正。基于特定主题的作业在特性分支中进行,主题完成后再与 master 分 支合并。只要保持这样一个开发流程,就能保证 master 分支可以随时供 人查看。 |
git merge 合并分支 | 我们假设 feature-A 已经实现完毕,想要将它合并到主干分 支 master 中。 | 首先切换到 master 分支,创建合并提交以记录本次分支合并 git merge --no-ff feature-A |
git log --graph 以图表形式查看分支 | git log --graph命令可以用图表形式输出提交日志,非常直 观,请大家务必记住。 | |
git reset 回溯历史版本 | 回溯到创建 feature-A 分支前,git rest --hard 命令,只要提供目标时间点的哈希值 ,就可以完全恢复至该时间点的状态 | git reset --hard fd0cbf0d4a25f747230694d95cac1be72d33441d |
创建 fix-B 分支,修改README文件并提交git checkout -b fix-B | ||
推进至 feature-A 分支合并后的状态 | 首先恢复到 feature-A 分支合并后的状态,执行 git reflog 命令,查看当前仓库执行过的操作的日志。git log 命令只能查看以当前状态为终点的历史日志。所以这里 要使用 git reflog 命令,查看当前仓库的操作日志. | |
消除冲突 | 现在只要合并 fix-B 分支,就可以得到我们想要的状态,进行合并操作发现被操作的文件出现了冲突,修正让 feature-A 与 fix-B 的内容并存于文件之中。 | |
冲突解决后,执行 git add 命令与git commit 命令提交解决后的结果。 | ||
git commit --amend 修改提交信息 | ||
git rebase -i 压缩历史 | 在合并特性分支之前,如果发现已提交的内容中有些许拼写错误等, 不妨提交一个修改,然后将这个修改包含到前一个提交之中,压缩成一 个历史记录。 | 自行修改错误,然后提交 |
尝试 Pull Request
Pull Request 是自己修改源代 码后,请求对方仓库采纳该修改时采取的一种行为。
只要 Pull Request 被顺利采纳,我们就会成为这个项目的 Contributor (贡献者),我们编写的这段代码也将被全世界的人使用。这正是社会化编程和开源开发的一大乐趣。
使用教材中提供的仓库进行一次PR
Fork到自己的仓库中:
clone 到本地仓库:
在特性分支中修改代码,创建一个名为work的分支,用来发送PR:
查看修改是否已经正确进行:
确认添加并提交至本地仓库:
创建远程分支:
要从 GitHub 发送 Pull Request,GitHub 端的仓库中必须有一个包 含了修改后代码的分支。
这个时候在 GitHub 就可以查看到 work 分支了:
发送PR:
在 GitHub 切换到 work 分支可以查看分支间差异,确认无误后右上角绿色按钮创建PR:
一次尊贵的PR就完成了。
们从远程仓库实际获取(fetch)最新源代码,与自己仓库的 分支进行合并。要让仓库维持最新状态,只需要重复这一工作即可。
接受 Pull Request
下面我们来作为管理者接收我们的PR,首先将我们发送PR的仓库Clone到本地:
获取咱们的远程仓库:
创建用于检查的分支,并检查提交内容,确认无误后删除检查分支:
接受PR:
在 push 修改之前,我们先检查一遍本地代码与远程仓库的区别:
确实区别为我们提交的内容,进行 push :
嘿 ,Surprise! 没权限。
嘿 ,有问题:可以通过其他人的PR!!!
GitHub 入门 与 2023年2月18日10:29:02
观天下!假的!马斯克否认修改算法推荐自己帐号 将追责说谎员工
环球微动态丨颠覆性创新 潍柴全球首发大功率SOFC燃料电池:研发花了20亿
环球新资讯:学习笔记——尚好房项目的数据库建表文件
VirtualBox 配置虚拟机 Host-only 和 Nat
世界百事通!win系统提示请插入多卷集的最后一张磁盘解决方法
第三章 计算机进行小数运算时出错的原因
全球聚焦:北江纺织:拟冲刺上交所IPO上市,预计募资4.22亿元,近年综合毛利率逐年下降
【环球速看料】五菱会玩!城市玩乐潮品SUV悦也“小书包”是块屏:可自定义内容
天天看点:打造名族品牌!杨元庆:联想核心生产制造还是立足中国
天天快播:[数据结构] AVL树
全球头条:超越GPS主导国内导航定位 北斗日定位量超3000亿次
焦点简讯:努比亚Z50 Ultra保护壳泄漏:后置摄像模组巨大无比
全球快看:院士称我国已经具备ChatGPT算力基础 关键在如何爆发
全球新消息丨工作至死:日本789万老人还在打零工
资讯:菲律宾一飞机早上起飞后失联:近期第二起
(数据库系统概论|王珊)第四章数据库安全性:习题
快播:橙色奶油冰淇淋层蛋糕食谱
世界要闻:精装版吉利星越L?领克DX11最新谍照曝光:首上魅族车机
天天消息!秒美国资费!每月198 还能更便宜:我国千兆宽带将全面普及 第二批城市名单来了
焦点报道:java便捷的word导出工具(officejj)
当前观点:关于 The River All Red (Tr.许渊冲) 的一点感想
高尔夫美女参战《蚁人3》
网友曝光《狂飙》拍摄地有人竖牌“拍视频5元1次”:官方回应来了
天天精选!三亚去世侏儒抹香鲸被解剖:胃内有大量塑料/线虫 导致无法进食
4.打包子应用 投票
环球今日讯!极兔一面:10亿级ES海量搜索狂飙10倍,该怎么办?
一文让你彻底了解ChatGPT
焦点快看:要控制人类节奏!聊天机器人爱上用户并诱其离婚 微软出手限制了
年制绿氢3万吨、绿氧24万吨!我国全球最大绿氢项目开工
刘强东完了!章泽天官宣喜讯,被出轨4年。网友:这反击漂亮!
环球观点:数据结构刷题2023.02.18小记
环球精选!特斯拉追尾公交致1死 车主呼吁放开单踏板模式:为何老是失控?这是原因
环球资讯:1986年拍摄的泰坦尼克号残骸视频首次公开:残骸尺寸巨大
当前滚动:如何保存石榴
当前观点:iPhone 15 Pro CAD渲染图对比iPhone 14 Pro:改用USB C端口、相机更凸起、边框更窄
今日热门!渔民出海偶遇100多只海豚逐浪嬉戏:场面很美很壮观
苹果iOS 16.4首个公测版发布:普通用户将告别测试版
天天观焦点:油电平价!比亚迪秦PLUS DM-i 2023冠军版杀疯了:9.98万就能买DM-i超级混动
start+up韩剧在线观看_start up
环球快消息!女子不吃碳水半年狂减46斤 结果脱发、怕冷:治了半年
时讯:老黄厨房新菜来了 NVIDIA确认GTC 2023大会3月20日开幕
环球观天下!为什么这年头是个人就能造车?这事真就没门槛?
比半张A4纸还小 惠普1L迷你主机实测:3050 Ti独显给力
环球头条:iPhone安装不了第三方App?没关系它会出手!
世界简讯:咬牙耳朵里面疼怎么办_耳朵外轮廓疼怎么办
当前简讯:《星际2》冠军为孙哥黄哥剃光头:“卤蛋”情绪稳定
Vue急速入门-4
python项目中的“填坑”记录
自命为缓存之王的Caffeine(6)
MyBatis-Plus (SpringBoot2 版) Learning Day01
百事通!河南安阳一楼盘推出0首付0月供购房,这是什么操作?
交个朋友陷恶意裁员风波 没有了罗永浩还能走多远
世界快资讯丨口碑又崩了 漫威大片《蚁人3》豆瓣开分6.4:量子力学也带不动
【世界快播报】红旗接入百度AI文心一言 打造国产豪车品牌标杆
【当前独家】物理老师用《塞尔达传说:荒野之息》讲解小船过河原理:林克听了都说好!
世界头条:144MB缓存游戏神U!锐龙9 7950X3D跑分首曝:果然不出所料
每日热门:小米13 Ultra渲染图曝光:中分造型四摄
世界观热点:剪绳子问题 之动态规划 及 大数越界情况下的求余问题
千万小心二手RTX 20显卡!新套路出现:黑片秒变白片
日本MRJ刚失败 印度也要自研国产飞机:可载100人
女子第一次打到无人驾驶网约车:十分激动
每日热门:支持30+种中外语言!搜狗输入法力挺麒麟OS
世界微头条丨网站设计师招聘_网站设计师
世界热点!3、TreeMap源码解析
每片5.5元!绿联苹果钢化膜促销:适用iPhone 14/13/12系列
每日视讯:河南发布电动车佩戴头盔规定草案:未戴拒不改正罚20元
全球观天下!苦等3年微软终于点头:苹果M1/M2 Mac正式支持运行Win11
天天短讯!李荣浩新歌《乌梅子酱》火了!乌梅子酱淘宝搜索量暴涨200倍
新资讯:1999元!小米米家智能除湿机50L发布:100平除湿 梅雨季不怕了
当前信息:阿里一面:谈一下你对DDD的理解?2W字,帮你实现DDD自由
看热讯:关于ChatGPT,我们到底在担心什么?
【世界新要闻】在centos stream 9上搭建k8s最新版本(当前:v1.26.1)集群环境
【环球热闻】云原生学习作业8
天天新消息丨本周盘点(2.13-2.17):永吉股份周跌2.30%,主力资金合计净流出1796.91万元
每日看点!三年之期已到 不换APP享受自由音乐的理想国还有多远?
诗与远方
天天快消息!男子初到上海见转弯扶梯被震撼 网友看呆:同没见过
6999元!爱玛联名雷神发布HERO限量款机车:2500W电机 一键弹射
张纪中回应张颂文沙漠捡垃圾被剧组丢下:请理性看待
ESXi Args勒索病毒来袭,VMware ESXi用户需提高警惕
2、HashMap源码分析
观热点:使用springboot cache + redis缓存时使用gzip压缩以提升性能
天天最新:微凸铜底设计!微星CORELIQUID M360散热器图赏
当前视讯!美俄亥俄州居民嘴唇变色脸上起红斑 官方称空气水质安全:小溪全是死鱼 污染超百公里
全球快资讯丨iPhone 15 Pro外观无悬念了!关键是价格会更贵
《生化危机4:重制版》新细节:艾达王将扮演重要角色
蚌埠住了!iPhone 18 Pro背面设计来了 堪称行星发动机
世界今日报丨2023湖南新能源汽车置换促销补贴怎么领取
如何用chatGPT、代理IP和网络爬虫,打造一个智能有趣的聊天机器人?
环球新动态:数据结构刷题2023.02.17小记
分享7个刺激的老司机网站,别轻易点开
天天观察:乐维百科:什么是IT监控?为什么运维需要监控?
今日最新!正式抛弃 Feign!Spring 6 推出新特性:HTTP Interface,这波太秀了!
环球速看:2023年保定住房贷款利息个税专项附加扣除政策
《中国乒乓之绝地反击》今日正式上映:邓超、吴京演绎男乒至暗时刻
【世界聚看点】0脂无糖 舌里全麦面包14.9元2斤40片大促
你还会吃吗?女子用1元成本做出即食燕窝:呼吁别被智商税
今日热搜:车厂突然破产 几十万车主有点慌:修车配件全国找
真我GT Neo5 1TB版秒罄!徐起否认饥饿营销:需求量太大