github的基础使用

【Git & Github】第二章 ——Github的认识以及基础使用 详细的阐释github的访问,资源下载,仓库创建,分支管理 阅读详情

1. 连接GitHub

在创建github账户后,我们一般生成公私钥通过ssh协议来连接github。

  1. 检查本地公私钥是否存在
           首先我们要检查本地是否已经生成了公私钥,打开git bash ,然后输入ls -al ~/.ssh,如果我们看到存在id_rsa和id_rsa.pub文件,说明已存在公私钥。如果不存在就需要手动生成公私钥。

  2. 上传公钥
    然后把公钥文件里内容粘贴到github即可。在这里插入图片描述

  3. 测试连接
    打开Git Bash,输入ssh -T git@github.com,如果出现以下内容并且能看到你的github账户名称,说明ssh配置成功。

    > Hi username! You've successfully authenticated, but GitHub does not
    > provide shell access.
    

连接到不同的远程仓库

如果你已经有了一套名为 id_rsa 的公秘钥,想要生成另外一对公私钥用于连接另一个远程仓库,比如连接公司的github仓库,该怎么办呢?

步骤如下:

1、生成一个新的自定义名称的公钥:

ssh-keygen -t rsa -b 4096 -C "YOUR_EMAIL@YOUREMAIL.COM" -f ~/.ssh/new

执行命令后,生成命名的公钥和生成默认公钥的步骤一样。

执行完成后,会在 ~/.ssh/目录下生成一个 new 和 new.pub 文件。

2、在 SSH 用户配置文件 ~/.ssh/config 中指定对应服务所使用的公秘钥名称,如果没有 config 文件就新建一个,并输入以下内容:

# Default github user(first@mail.com)
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
 
# aysee (company_email@mail.com)
Host github-new
HostName github.com
User git
IdentityFile ~/.ssh/new

3、添加 new.pub 到你的新git服务器网站上。

4、测试配置文件是否正常工作

ssh -T git@github.com

如果正常的话,会出现如下提示:

Hi USERNAME! You've successfully authenticated, but github does not provide shell access.

如果出现如下提示,则说明有权限问题:

Permission denied (publickey)

这时你对项目执行push操作的时候,会得到如下提示:

Warning: Permanently added the RSA host key for IP address '192.30.252.129' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
 
Please make sure you have the correct access rights
and the repository exists.

多用户时出现权限问题的原因:
github使用SSH与客户端连接。如果是单用户(first),生成密钥对后,将公钥保存至 GitHub ,每次连接时SSH客户端发送本地私钥(默认~/.ssh/id_rsa)到服务端验证。单用户情况下,连接的服务器上保存的公钥和发送的私钥自然是配对的。但是如果是多用户 (first,second),我们在连接到second的帐号时,second保存的是自己的公钥,但是SSH客户端依然发送默认私钥,即first的私钥,那么这个验证自然无法通过。

5、添加ssh-agent
先查看是否有代理,输入ssh-add -l,如果输出 The agent has no identities. 则表示没有代理。如果系统有代理,可以执行下面的命令清除代理:ssh-add -D
把两个公私钥添加到agent,分别运行下面两个命令:

$ ssh-add ~/.ssh/id_rsa
$ ssh-add ~/.ssh/new

2. 如何把本地项目上传到github

  1. 在github上建立仓库
    建议增加readme文件,github搜索时会根据关键字查询你项目的readme文件;license选用MIT开源协议随便用。

  2. 本地添加remote分支

    在本地增加remote分支git remote add origin git@github.com:xxx/git_test.git ,从github上复制ssh协议的仓库地址,并用origin 来指代它。(可以使用git branch -av来查看,a指包括remote分支)。

  3. 下载远程分支

    然后使用git fetch origin来把远程仓库的内容先down下来。pull相当于fetch+merge。

    由于远程仓库已经存在文件,所以需要将远程仓库文件内容先合并到本地分支git merge --allow-unrelated-histories origin/master master(称为fast-foward),或者- -rebase也可以。

  4. 关联本地分支到remote对应分支

    然后需要指明本地哪个分支和remote的master分支关联,因此需要git push --set-upstream origin master或者git push -u origin master,这样设定后,本地master分支和remote的origin/master对应,在本地master分支进行pull或push操作就不需要再指定remote地址了。`

    结果如下图:

    Branch 'master' set up to track remote branch 'master' from 'origin'
    

    接着就可以愉快地push了!

提交时的默认规范

提交信息一般加上前缀,
WIP是work in process正在开发中的意思,提示不要被误合并。
feat是feature的意思,一个新特性或功能

3. github容易被忽视的亮点

  • 快捷键
    在GitHub页面点击shift+/,可以查看当前页面的快捷键,利用这些快捷键用来装逼很合适,哈哈

在这里插入图片描述

  • Gist
    可以创建零碎的代码片段,用来保存,分享,fork,挺方便的。注意被墙了,要翻墙或者百度解决办法。
  • Expore
    GitHub为你推荐的当前热门项目,挺不错的,没事浏览浏览,扩展对前沿热门项目和技术的了解。

4. 如何在github上快速淘到感兴趣的开源项目

简单来说就是一定要善于使用github的高级搜索Advanced search,即:
在这里插入图片描述

2.1 根据仓库属性来搜索

  • 一定要使用readme
    在搜索时 加上in:readme,github会在各个仓库的readme文件中查找匹配,大大提高搜索的准确度。
  • 使用stars的数量
    stars:>1000 只搜索stars大于1000的开源项目。这点感觉非常好用,大大减少搜索出的结果数量。

以上可以组合使用如:blog easily start in:readme starts:>5000 搜索出readme中也包含blog easily start关键字且starts大于5000的仓库。

2.2 根据code属性来搜索

  • 搜索代码中含有指定文件名的代码
    filename:rabbitMqConfig会搜索出代码中含有rabbitMqConfig文件名的代码,注意是代码不再是根据仓库的属性来搜索了。
Github与GitKraken的基础使用(一)[学习笔记] Github与GitKraken的基础使用(一)[学习笔记]Git与Github使用Github.com1.仓库(repository)2.创建一个repo3.使用GitKraken Git与Github Git是一个版本控制软件,而Github 是基于网络的Git仓库。在Github上用户可以分享各种开源的项目。 Git可以记录文件或项目的轨迹,保存着从出生以来做过的各种增删与改进。我们可以使用... 阅读详情

相关推荐

极化码理论及算法研究6-SCL、CA-SCL及matlab仿真

极化码译码算法5——SCL/CA-SCL译码算法系列目录1、引言2、串行抵消列表(SCL)译码算法2.1、路径度量PM 系列目录 (如要找其他内容,欢迎访问我的主页寻找) #前言 #极化码概述 #极化码定义 #极化码编码 #极化码译码 #5G标准中极化码的编译码概述 #5G标准中极化码的编码 #5G标准中极化码的译码 #总结 1、引言 在上一节中,介绍了经典的SC译码算法的理论原理以及其matlab仿真代码,SC译码算法具有较低的译码复杂度,但是由于每个译码的比特信息都依赖于前面所有的比特信息的译码结果,得

1万+

github新手用法详解(建议收藏!!!)

如果你是一枚Coder,但是你不知道Github,那么我觉的你就不是一个菜鸟级别的Coder,因为你压根不是真正Coder,你只是一个Code搬运工。说明你根本不善于突破自己!为什么这么说原因很简单,很多优秀的代码以及各种框架源码都存放于github当中! 目录github登录与注册git安装步骤详解 首先,我先对GitHub来一个简单介绍,GitHub他就是一个远程仓库,远程仓库通俗的理解就是一个可以保存自己代码的地方,在实际开发当中一个项目往往是有多个人来共同协作开发完成的,那么就需要一个统一代码保存的

怪咖@的博客 26万+

AI工作流革命:从n8n到Sora2,揭秘自动化视频创作的底层逻辑

本文深入探讨了AI工作流在自动化视频创作中的应用,重点介绍了n8n、Coze和Sora2的组合如何实现从链接输入到视频输出的全流程自动化。通过三层架构解析、关键技术模块优化及成本控制策略,这套方案显著提升了视频生产效率,适用于电商、热点追踪等多种场景。

gg901的博客 1090

github入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

如果你是一枚Coder,但是你不知道Github,那么我觉的你就不是一个菜鸟级别的Coder,因为你压根不是真正Coder,你只是一个Code搬运工。说明你根本不善于突破自己!为什么这么说原因很简单,很多优秀的代码以及各种框架源码都存放于github当中!

ZL_1618的博客 1万+

【ROS2实体机械臂驱动】封装珞石ROS2驱动库ros2_rokae_driver_lib

这一篇文章将封装为,和之前一篇文章《ROS2 编译、打包、封装三方库(Knet为例)_ros插件编译成静态库-优快云博客》写的封装,区别在于优化了cmake dependencies和include等属性和宏定义,同时对于多库内部依赖的情况做了特定处理,更加方便外部调用。其中珞石的编译参考博主之前的文章rokae xCoreSDK C++测试使用,这里不再做赘述。通过这篇文章对于如何打包机械臂厂家提供的三方库做了进一步说明,方便用于不同机械臂厂家的三方库封装调用。!!

机器人梦想家 Bing Lee 1400

ESP-SPARKBOT AI 智能机器人:v1.2 全流程复刻指南

本文介绍 ESP-SPARKBOT AI 智能机器人 v1.2 版本的全流程复刻,包含 PCB 、3D 打印、固件烧录、常见问题解决、参考资料等

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 9260

Git、GitHub新手使用教程——三分钟学会白嫖源码

Git是一个开源的分布式版本控制系统(简单理解:让你的代码在云端存档,可以看到你代码的历史版本,支持多人协作等),可以有效、高速地处理从很小到非常大的项目版本管理。而GitHub是基于这个版本控制系统打造的网站,同时,你也可以在上面找到许多开源的内容。Git三大概念:提交commit、仓库repository、分支branch1.提交commit:将代码的变化以commit为单位记录下来,当你代码写崩的时候就可以回档到之前的某一次commit,简单来说就像是游戏存档。

2301_76655007的博客 12万+

数据结构课程设计C/C++版--美团餐馆预定信息的管理与分析 5 6

第5关:注销个人信息。

m0_62222486的博客 2129

【GitHub】保姆级使用教程

输入网址,无脑下载网易加速器;下载安装完毕后,创建账号进行登录登录后,在右上角搜索框中搜索“学术资源”,并点击;稍等一会儿就会跳转出来“学术资源”的一个页面;此时,我们就可以新打开一个标签页登录GitHub,自由快速访问啦!

m0_46459413的博客 9万+

基于YOLOv11的仓库机器人导航系统设计与实现:Amazon Robotics Challenge解决方案

本文将详细介绍一个基于YOLOv11目标检测算法的仓库机器人导航系统,该系统能够准确识别托盘(pallet)和箱子(box),为机器人提供精确的导航信息。而基于深度学习的视觉导航系统能够实时识别环境中的关键物体,如托盘和箱子,从而实现更智能的路径规划和货物搬运。YOLOv11作为YOLO系列的最新演进版本,在检测精度和速度上都有显著提升,非常适合仓储环境中的实时物体检测任务。YOLOv11在保持实时性的同时,提高了对小物体和密集物体的检测能力,这对仓储环境中的托盘和箱子检测尤为重要。

YOLO 304

node: /lib64/libstdc++.so.6: version `CXXABI_1.3.11‘ not found (required by node) 解决方案

本文主要介绍了node: /lib64/libstdc++.so.6: version `CXXABI_1.3.11’ not found (required by node) ,希望能对使用nodejs的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 1万+

GitHub 基础使用指南

Explore (探索):探索 GitHub 上的热门项目、主题和开发者社区,获取灵感。Topics (话题):按编程语言、工具、平台等分类浏览仓库。Trending (趋势):查看不同时间段内 GitHub 上流行的仓库。Marketplace (市场):查找开发者工具、CI/CD 集成、代码质量分析工具等服务。Notifications (通知):管理你关注的仓库或话题的更新。Profile (个人主页):查看和编辑个人资料,包括仓库、贡献和活动记录。

byby0325_的博客 1501

17track单号查询逆向分析

这就说明该网站很有可能存在其它检测点,而检测本地替换最大可能的就是检测了代码格式化或者代码长度。也一样,要么导致网站卡死,要么会导致网页加载异常,这里可能就难到不少人了,让我们一步一步解决。而这个站主要是检测了代码格式化,无限循环检测造成了网站卡死,经多次测试发现检测点共三处。方法中代码很长,但是经调试后发现,它其实只返回一个固定的值,这里直接写死即可。同样的,虽然看起来很长,但是跟过之后就会发现流程很简单,这里主要就是对。追加了一些值,是一条很长的语句,整理代码。,核心流程也很简单,稍微跟一下就出来了,

pyzzd的博客 1624

Github基础使用

若输出 Hi [你的GitHub用户名]!You've successfully authenticated...,说明配置成功。git init初始化仓库,初始化完可以看到一个.git文件。本地仓库操作:在项目目录打开gitbash。若输出包含远程仓库的地址,则说明关联成功。注:若使用ssh地址,需先配置ssh密钥。将私钥文件添加到ssh-agent。先启动ssh-agent服务。将公钥添加到github账号。

2502_92827014的博客 199

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Github基础使用教程

闲来无事,整理下Github的基础使用方法,分享给大家。 另附上视频地址:https://www.bilibili.com/video/av10475153/?p=6 有需要的朋友可以去看视频,讲解的非常详细,适合新手。 一基础概念: Repository        仓库 Start                收藏 Fork                克隆项目 Pull ...

小剑的代码人生 1181

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

GitHub的基础使用入门

什么是 Github? github是一个基于git的代码托管平台,用户可以建私人仓库和公共仓库,也可以付费享受更专业化的服务 Github 由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务。 GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 G...

简单 208

github使用基础

要通过终端绑定GitHub账号并进行文件传输,你需要使用Git和SSH密钥来实现安全连接和操作。

weixin_48485132的博客 1238

github基础使用

作为 一个工程师,将本地项目上传到github进行备份和分享是一个不错的技能,一来可以方便以后的工作,二来可以分享自己的成果。所以下面本人详细教大家如何将本地项目上传到github,十分简单,一学就会!!!!   首先先进入github。网址是:https://github.com/ 如果你还没有在github上注册过账号,那你先要注册一个账号,账号最好是用自己常用的邮箱,方便别人联...

缘于始,终于途 281

GitHub基础使用

一、注册GitHub 二、下载Git 三、生成SSH 检测本机是否有ssh $cd ~/.ssh 提示有(没有的请跳过直接看四) 提示没有 四、绑定SSH 进入本机ssh文件夹 复制文件中所有内容 进入GitHub中的SSH,title建议与项目名保持一致 key即是刚刚复制的sshkey 点击add SSH key 绑定成功 五、上传本...

悬剑丨的博客 758

github fork的基础使用

前言 之前公司用的是svn,后来自己使用了码云(因为码云是免费的并且有私有空间)。后续为了项目发展,移步到github进行开源学习。 fork 进入github点击fork到自己空间下。 idea检出 进入fork后的项目页面,copy clone url。 打开idea,在菜单栏找到 VCS - Checkout From Version Control - Git 输入我们刚刚复制的地址...

幸运草的博客 1724

Git系列之Github基础设置及使用详解

Git系列之Github基础设置及使用详解本文转载自Kylin,点击阅读原文 在上一篇博客Git系列之初识Git与Github中详细介绍了Git以及Github分别是什么,以及两者之间的关系。接下来本系列教程将带你一步一步的学习Git以及Github的详细用法。本篇博客将教你如何加入Github,并进行初步的配置及使用。一、加入GithubGithub的优秀在上一篇博客中已经说得很详细了,如果想了解

氪岚的博客 943

GitHub 使用基础[Vscode]

github Vscode 使用(适合初学者)

m0_60104429的博客 4271
上一篇: git(一) 基础必备
下一篇: http从发出请求到接收响应的旅行
余生之君
博客等级 码龄10年 246粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值