新手怎么使用GitHub?

新手怎么使用GitHub?

GitHub新手使用指南,涵盖了从注册、创建仓库、版本控制基本操作到SSH密钥配置等关键步骤:

第一步:注册与登录

  1. 访问GitHub官方网站:https://github.com
  2. 点击页面右上角的"sign up"按钮开始注册账号。
  3. 输入有效的电子邮件地址,设置用户名和密码,按照提示完成验证步骤。

第二步:创建仓库

    • Repository name(仓库名):给你的项目起个名字。
    • Description(描述):简短介绍你的项目内容。
    • Public/Private(公开/私有):选择是否公开你的代码。
    • Initialize this repository with(初始化仓库):可以选择立即添加README文件等初始内容。
    • Add .gitignore:选择适用你项目的.gitignore模板,用于忽略不需要版本控制的文件。
    • Choose a license(选择许可证):为你的项目选择合适的开源许可证。
    • 最后点击右下绿色Create repository创建。

在新建仓库界面填写相关信息:

在这里插入图片描述

登录后,点击右上角的"+“号,然后选择"New repository”。

在这里插入图片描述

第三步:版本控制操作

克隆已有仓库到本地

使用终端(如Git Bash)在本地电脑相应目录下执行:

git clone [仓库地址]

找到你想要克隆的仓库,点击"Code"按钮获取仓库的HTTPS或SSH地址。

在这里插入图片描述
在这里插入图片描述
创建、切换和合并分支
分支其实就是开发者在同一个项目中创建多个独立的开发线路。每个分支都是一系列提交的集合,这些提交记录了该分支上的代码更改历史。使用分支的主要目的是并行开发:团队成员可以在不同的分支上工作,互不影响,从而实现功能开发、 bug 修复或其他任务的隔离。

将分支内容合并到主分支(如master):

git checkout master git merge [分支名]

切换分支:

git checkout [分支名]

创建新分支:

git checkout -b [新分支名]
提交更改
代码写完之后,如果是新增的文件需要add到暂存区哦,再去进行提交commit,再拉取pull,再推送push。

将本地分支的更改推送到GitHub远程仓库:

git push origin [分支名]

如果是主分支(通常是master或main),则直接:

git push origin master 

提交更改并附带说明:

git commit -m "本次提交的说明信息"

添加文件变动到暂存区:

gitadd.

或者针对单个文件:

gitadd[文件名]

第四步:配置SSH密钥(非必要)

配置 Git 的 SSH 密钥是为了让你能够在 GitHub、GitLab、Bitbucket 等 Git 仓库托管服务上安全地进行推送和拉取操作,而无需每次都输入用户名和密码。

1. 检查是否已有 SSH 密钥

首先,检查你的用户目录下的 .ssh 文件夹内是否有已存在的公钥(默认文件名为 id_rsa.pub)。打开终端或命令提示符,输入以下命令:

ls -al ~/.ssh 

如果有现成的密钥对并且你希望继续使用它,跳至步骤 4。否则,继续下一步生成新的密钥对。

2. 生成新的 SSH 密钥

运行以下命令来生成一个新的 SSH 密钥对。在这个过程中,你可以选择加密密钥(推荐),并设置一个密码(密语):

ssh-keygen -t rsa -b 4096 -C "[email protected]"
  • -t rsa 指定生成 RSA 类型的密钥。
  • -b 4096 设置密钥长度为 4096 位,提高安全性。
  • -C 后面跟的是注释信息,一般填写你的邮箱地址,用于标识这个密钥。

3. 查找公钥

生成密钥对后,公钥文件默认保存为 ~/.ssh/id_rsa.pub。你可以通过以下命令查看公钥内容:

cat ~/.ssh/id_rsa.pub 

4. 添加公钥到 Git 仓库托管服务

接下来,你需要将公钥添加到你的 Git 仓库托管服务账户中。这里以 GitHub 为例:

  • 登录你的 GitHub 账户。
  • 点击头像,选择“Settings”。
  • 在左侧菜单中点击“SSH and GPG keys”。
  • 点击页面右上角的“New SSH key”按钮。
  • 给密钥起个标题,如“Home Laptop”。
  • 将步骤 3 中复制的公钥粘贴到“Key”文本框中。
  • 点击“Add SSH key”。

5. 配置 SSH 客户端

为了确保 Git 使用正确的密钥连接到远程仓库,你可能需要在 ~/.ssh/config 文件中配置密钥。如果文件不存在,可以创建一个。以下是一个示例配置,针对 GitHub:

Host github.com IdentityFile ~/.ssh/id_rsa 

6. 测试连接

最后,测试 SSH 连接是否配置成功:

ssh -T [email protected] 

如果一切配置正确,你会看到类似“Hello XXX! You’ve successfully authenticated…”的消息。

完成以上步骤后,你就成功配置了 SSH 密钥,可以开始无密码地与 Git 仓库进行交互了。

Read more

【数据结构与算法】指针美学与链表思维:单链表核心操作全实现与深度精讲

【数据结构与算法】指针美学与链表思维:单链表核心操作全实现与深度精讲

🔥小龙报:个人主页 🎬作者简介:C++研发,嵌入式,机器人等方向学习者 ❄️个人专栏:《C语言》《【初阶】数据结构与算法》 ✨ 永远相信美好的事情即将发生 文章目录 * 前言 * 一、查找 * 二、指定位置之前或之后插入元素 * 2.1 在指定位置之前 * 2.2 在指定位置之后 * 三、指定位置删除或指定位置之后删除 * 3.1 在指定位置 * 3.2 指定位置之后 * 四、代码展现 * 4.1 SList.h * 4.2 SList.c * 4.3 test.c * 五、顺序表和链表的区别 * 总结与每日励志 前言

By Ne0inhk
Flutter 三方库 hashids2 基于鸿蒙安全内核的深度隐匿映射适配:数字指纹泄露防御层、生成短小精悍唯一不可逆加盐哈希,护航全链路请求 URL 隐私-适配鸿蒙 HarmonyOS ohos

Flutter 三方库 hashids2 基于鸿蒙安全内核的深度隐匿映射适配:数字指纹泄露防御层、生成短小精悍唯一不可逆加盐哈希,护航全链路请求 URL 隐私-适配鸿蒙 HarmonyOS ohos

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 hashids2 基于鸿蒙安全内核的深度隐匿映射适配:突破高敏感数字指纹泄露防御层、生成短小精悍唯一不可逆加盐哈希,护航全链路请求 URL 隐私资产 在鸿蒙应用的高度依赖数据隐私(如隐藏数据库递增 ID、生成短网址或混淆用户主页链接)中,如何将枯燥的数字转换为非连续、看似随机且人类友好的标识符?hashids2 库提供了一套基于 Hashids 协议的工业级加密 ID 生成方案。本文将详解该库在 OpenHarmony 上的适配要点。 前言 什么是 hashids2?当你在 URL 中展示 user/123 时,攻击者很容易通过猜测 124 或 125 来爬取你的数据。hashids2 能够根据你设定的盐值(Salt)。将整数 123 转换为类似

By Ne0inhk
《算法题讲解指南:优选算法-滑动窗口》--15.串联所有单词的子串,16.最小覆盖子串

《算法题讲解指南:优选算法-滑动窗口》--15.串联所有单词的子串,16.最小覆盖子串

🔥小叶-duck:个人主页 ❄️个人专栏:《Data-Structure-Learning》 《C++入门到进阶&自我学习过程记录》《算法题讲解指南》--从优选到贪心 ✨未择之路,不须回头 已择之路,纵是荆棘遍野,亦作花海遨游 目录 15. 串联所有单词的子串 题目链接: 题目描述: 题目示例: 解法(滑动窗口+哈希表): 算法思路: C++算法代码: 算法总结及流程解析: 16. 最小覆盖子串 题目链接: 题目描述: 题目示例: 解法 (滑动窗口+哈希表): 算法思路: 算法流程: C++算法代码: 算法总结及流程解析: 结束语 15. 串联所有单词的子串 题目链接: 30. 串联所有单词的子串 - 力扣(LeetCode)

By Ne0inhk
数据结构-单链表

数据结构-单链表

单链表 * 概念与结构 * 结点 * 链表的性质 * 链表的打印 * 实现单链表 * 头文件 * 源文件 * 单链表的打印 * 单链表申请新节点内存 * 尾插 * 头插 * 尾删 * 头删 * 查找 * 在指定位置之前插入数据 * 在指定位置之后插入数据 * 删除pos结点 * 删除pos之后的结点 * 销毁链表 * 链表的分类 * 代码地址 概念与结构 概念:链表是⼀种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 逻辑结构:线性 物理结构(存储结构):不一定是线性的 链表就类似一个火车,车头是哨兵位(可有可无),车厢是节点 * 将火车里的某节车厢去掉或加上,不会影响其他车厢,每节车厢都是独立存在的。 在链表⾥,每节“车厢”是什么样的呢? \color{red}{在链表⾥,每节“车厢”是什么样的呢?

By Ne0inhk