Github入门教程,适合新手学习(非常详细)

前言:本篇博客为手把手教学的 Github 代码管理教程,属于新手入门级别的难度。教程简单易操作,能够基本满足读者朋友日常项目寄托于 Github 平台上进行代码管理的需求。Git 与 Github 是一名合格程序员 coder 必定会接触到的工具与平台,GitHub 作为世界上最大的代码开源与分享平台,读者朋友可以在 Github 得到或上传各种各样的代码资源。希望这篇博文能给读者朋友的 Git 与 Github 使用带来些许帮助,Respect!

Github官网地址:GitHub: Let’s build from here · GitHub

Github教程推荐:Github 简明教程 | 菜鸟教程 (runoob.com)

一、Github概述

1.1 Git的诞生

GitHub 是一个基于web的服务平台,主要用于版本控制和协作,让开发者和项目团队能够更好地一起工作。它提供了一个 Git 代码仓库的托管服务,Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 为更好地管理 Linux 内核开发而设计。

在 GitHub 上,用户可以创建自己的项目仓库来管理代码,同时也可以参与到其他人的项目中。 GitHub 提供了许多协作特性,比如问题跟踪、项目管理、代码审查、团队讨论等,这些都极大地促进了开源项目的合作和发展。 

★Git 诞生八卦:

Linus 在 1991 年创建了开源的 Linux,从此,Linux 系统不断发展,已经成为最大的服务器系统软件了。

Linus 虽然创建了 Linux,但 Linux 的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为 Linux 编写代码,那 Linux 的代码是如何管理的呢?

在 2002 年以前,世界各地的志愿者把源代码文件通过 diff 的方式发给 Linus,然后由 Linus 本人通过手工方式合并代码!

直到 2002 年,Linux 系统已经发展了十年了,代码库之大让 Linus 很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统 BitKeeper,BitKeeper 的东家 BitMover 公司出于人道主义精神,授权 Linux 社区免费使用这个版本控制系统。

但在 2005 年这样的美好被打破了,于是 Linus 花了两周时间自己用 C 写了一个分布式版本控制系统,这就是 Git!一个月之内,Linux 系统的源码已经由 Git 管理了!

Git 迅速成为最流行的分布式版本控制系统,尤其是 2008 年,GitHub 网站上线了,它为开源项目免费提供 Git 存储,无数开源项目开始迁移至 GitHub,包括 jQuery,PHP,Ruby 等等。

1.2 Git与Github的联系

Git 和 GitHub 是两个紧密相关的事物:

1、Git: Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 创建于 2005 年。它允许开发者跟踪和管理源代码历史,支持多人协作开发。Git 的核心功能包括版本控制、分支管理、合并和冲突解决等。它是基于命令行的工具,可以在本地计算机上完全离线工作。

2、GitHub: GitHub 是一个基于 Git 的在线托管平台,提供 Git 仓库的托管服务。它为开源项目和个人开发者提供了一系列协作工具,如代码审查、问题跟踪、项目管理、Wiki 页面等。GitHub 还提供了图形用户界面,使得用户可以更容易地使用Git的功能。此外,GitHub 还提供了一些社交网络特性,如关注其他用户、星标项目(star)、对项目代码提出改进建议(fork)和提交拉取请求(pull request)。

综上所述,Git 是一个版本控制系统,而 GitHub 是一个使用 Git 的工具和服务提供者。开发者可以在本地使用 Git 进行版本控制,然后将代码推送到 GitHub 上进行共享和协作。

二、Github的使用

2.1 Github注册

1、登入 GitHub 的官网,点击 sign up(注册);

2、填入相关的注册 GitHub 账号信息;

3、登入自己刚刚注册的 Github 账号;

2.2 Github项目库创建

1、登入自己的 Github,点击创建 Create repository;

2、对创建的项目工程内容进行选择性的填写;

3、读者朋友需要注意库分为两种,分别是:公有(Public)和私有(Private),大家自行选择即可。填好信息后点击创建仓库即可。

在创建完成自己的库之后,下面就要让自己的电脑克隆一个自己所创建的库,方面自己电脑上的代码同步到 GitHub 你所创建的库当中。为了实现,就需要安装一个软件 Git Bash。接下来让我们安装 Git Bash。 

2.3 Gitbash安装详解

Git Bash 是 Git for Windows 的一个组件,它提供了一个基于 MinGW 的命令行仿真环境,允许用户在 Windows 操作系统上使用 Git 命令行工具,就像在 Unix 或 Linux 系统上一样。Git for Windows 是 Git 的官方版本,它包括了 Git 命令行工具、Git GUI(图形用户界面)以及 Git Bash。

Git Bash 提供了一些类似于 Unix shell 的特性,包括常用的 Unix 命令(如 ls、cat、grep 等),以及通过 SSH 进行远程操作的能力。它还支持对 Windows 文件系统的访问,允许用户在 Git Bash 中执行 Windows 应用程序和访问 Windows 文件路径。

安装 Git for Windows 后,用户可以在 Windows 的开始菜单中找到 Git Bash,或者在文件资源管理器中任意文件夹的上下文菜单中找到“Git Bash Here”选项,从而启动 Git Bash。在 Git Bash 中,用户可以执行 Git 相关的操作,如克隆仓库、提交更改、推送分支等。

Git官网下载地址:Git (git-scm.com)

在 Git 的官网中点击Downloads,进入如下页面:Git - Downloads (git-scm.com)

有 Mac,Windows,Linux 版本的,下载适合自己电脑的版本(博主是 Windows 按照自己电脑配置来选的):

选择自己的操作系统下载即可: 

等待下载完成: 

如下图所示,这表示 Git 已经安装完成了,至于图中的两个选择,则分别表示 打开 Git Bash 和 浏览 Git 版本信息,可以都选,也可以都不选。

Git常用命令:

2.4 Git和Github的绑定

2.4.1 得到ssh keys

输入 cd ~/.ssh,返回 "no such file or directory" 表明电脑没有ssh key,需要创建ssh key;

故在终端输入 ssh-keygen -t rsa -C “git账号”

连续进行 3 次回车Enter(确认),得到如下截图中的信息即可; 

按路径进入 .ssh,里面存储的是两个 ssh key 的秘钥,id_rsa.pub 文件里面存储的是公钥,id_rsa 文件里存储的是私钥,不能告诉别人。打开 id_rsa.pub 文件,复制里面的内容。

2.4.2 绑定ssh密钥

1、接下需要登录到自己的 GitHub 上边添加这个密匙;

2、填写名字并且填写复制的公钥(id_rsa.pub内容),添加后配置完成。;

 3、点击 Add SSH key,我们就成功添加 SSH Key 啦!

4、我们回到 Git bash上边,输入:ssh -T git@github.com
来检查是否成功绑定。如果输入代码之后再选择 yes 出来是这样说明就成功啦!!! 

5、剩余简单的配置内容。

将 name 最好和 GitHub 上边的一样,email 是一定要是注册 GitHub 的那个邮箱地址

这两个的顺序可以颠倒,没有固定的顺序。

git config --global user.name “gitname”
git config --global user.email “git邮箱”

截止到这里的操作,已经完成本地 Git 与远程的 Github 绑定,这意味着我们已经可以通过 Git 向 GitHub 提交代码啦!

2.5 使用Git将代码提交到GitHub

该过程需要使用经常的接触的两个 Git 命令,包括:push pull

push该单词直译过来就是 “推” 的意思,如果我们本地的代码有了更新,为了保持本地与远程的代码同步,我们就需要把本地的代码推到远程的仓库,代码示例:

git push origin master

pull该单词直译过来就是 “拉” 的意思,如果我们远程仓库的代码有了更新,同样为了保持本地与远程的代码同步,我们就需要把远程的代码拉到本地,代码示例: 

git pull origin master

2.5.1 克隆仓库

1、将我们的库克隆下来到本地电脑中,方便以后进行上传代码。

2、点进仓库之后点击 Code,点击 ssh 会看到一串网址(http也可以),这个地址就是代码地址,git clone 命令会用的到。

3、接下来我们就开始选择文件存储地方了,在本地电脑中找到存储文件的地方,然后右键选择 Git Bash Here: 

4、在终端输入 git clone 地址(这个地址就是刚刚库那个Code的上代码地址)

该过程有时候可能会需要输入 Github 账号密码啥的,记得不要输错啦! 

 如下图所示,指定目录已经存在了我们的库文件 

2.5.2 上传代码

1、打开这个文件夹,然后在其中创建一个任意格式,任意名称的文件(这里新建了一个测试文件)。

2、在这个文件夹里面右键 git bash 进黑框框,git add 我们新增的文件

3、之后输入然后 git commit -m “测试是否成功” 引号内的内容可以随意改动,这个语句的意思是 给你刚刚上传的文件一个备注,方便查找记忆而已;

4、接着输入 push 指令 git push origin main,如下图所示就代表成功了;

5、打开 GitHub,看到刚刚上传的文件,显示成功。

到这里,本篇博客针对 Github 平台的使用教程就已经结束了!!! 

三、作者有话

Github 是目前全世界最大的开源代码分享平台,不管是工程项目代码还是科研文章中的代码,很多都是托管于 GitHub 上的。不仅于此,很多公司现在编写与管理工程代码时候,也经常使用 Git 进行操作!所以,不管怎么样还是非常建议读者朋友去花点时间与经历去学习 Git 的使用的!非常希望这篇简短的博客能够帮助到各位,Respect!

结语:希望各位读者朋友与大佬也能在 Github 上继续分享优秀的开源项目,助力 Github 上国人的贡献量,Respect!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/352628.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React+TS前台项目实战(十)-- 全局常用组件CopyText封装

文章目录 前言CopyText组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲项目常用复制文本组件封装,这个组件是一个用于拷贝文本的 React 组件,它提供了拷贝,国际化和消息提示的功能 CopyText组件 1. 功能分…

linux远程访问及控制

补充: 终端:接收用户的指令 TTY终端 虚拟终端 ssh:22端口号,加密。 telnet:23端口号,不加密。 解释器:shell SSH 远程管理 SSH(Secure Shell)是一种安全通道协议&#xff0c…

012.指纹浏览器编译-修改canvas指纹(高级)

指纹浏览器编译-修改canvas指纹(高级) 一、canvas指纹是什么 之前介绍过canvas指纹和常见网站绕过canvas指纹,插眼: https://blog.csdn.net/w1101662433/article/details/137959179 二、为啥有更高级的canvas指纹 众所周知,creepjs和brow…

利用CUDA加速卷积计算:原理、实践与示例代码

利用CUDA加速卷积计算:原理、实践与示例代码 在深度学习领域,卷积神经网络(Convolutional Neural Networks,CNN)是目前最流行和有效的模型之一。然而,随着模型复杂度的增加,卷积计算的计算量也随之增加,这使得在CPU上进行卷积计算变得非常耗时。因此,利用CUDA加速卷积…

我在高职教STM32——GPIO入门之蜂鸣器

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正因如此,才有了借助 CSDN 平台寻求认同感和成就…

6.17 作业

使用qt实现优化自己的登录界面 要求: 1. qss实现 2. 需要有图层的叠加 (QFrame) 3. 设置纯净窗口后,有关闭等窗口功能。 4. 如果账号密码正确,则实现登录界面关闭,另一个应用界面显示。 第一个源文件 …

做材料科学领域研究热点:高通量多尺度材料计算和机器学习

研究背景 材料科学是一个重要领域,涉及物质的研究和利用。随着科技进步,材料学已成为多学科交叉的前沿领域之一,融合物理、化学、数学、信息、力学和计算科学等知识。寻找更坚固的新材料已成为当今急需解决的问题。 材料基因工程作为一项颠覆…

大前端 业务架构 插件库 设计模式 属性 线程

大前端 业务架构 插件库 适配模式之(多态)协议1对多 抽象工厂模式 观察者模式 外观模式 装饰模式之参考catagory 策略模式 属性

服务器数据恢复—KVM虚拟机被误删除如何恢复虚拟磁盘文件?

服务器数据恢复环境&故障: 1台服务器,Linux操作系统EXT4文件系统,部署了数台KVM虚拟机,每台虚拟机包含一个qcow2格式的磁盘文件,和一个raw格式的磁盘文件。 工作人员操作失误删除了3台服务器上的KVM虚拟机&#xf…

HTML静态网页成品作业(HTML+CSS)——美食火锅介绍网页(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

6.14作业

使用手动连接,将登录框中的取消按钮使用第二中连接方式,右击转到槽,在该槽函数中,调用关闭函数,将登录按钮使用qt4版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin"…

MySQL常见的命令

MySQL常见的命令 查看数据库(注意添加分号) show databases;进入到某个库 use 库; 例如:进入test use test;显示表格 show tables;直接展示某个库里面的表 show tables from 库; 例如:展示mysql中的表格 show tabl…

一个软件是如何开发出来的呢?

一、前言 如今,AI大爆发的时代,作为一名IT从业者,你是否也想尝试开发一套自己的系统,实现那些看似有可能实现的天马行空的想法,变成一个优秀甚至伟大的产品,甚至带来某个行业的革新,那作为一名…

11 数制介绍及转换

数制介绍 一、数制介绍 (一)计算机的数制 ​ 二进制这个词的意思是基于两个数字 ​ 二进制数或二进制位表示为0 和1 ​ 示例:10001011 ​ 十进制数制系统包括10 个数字:十进制数0、1、2、3、4、5、6、7、8、9 ​ 示例&…

List, Set, Map, Queue介绍

Java集合框架是一组接口和实现这些接口的类的集合,它提供了对数据集合的高效率存储和操作。以下是Java集合框架中一些核心接口的介绍: 1.List: List是一个有序的集合,允许包含重复的元素。它提供了按插入顺序访问元素的方法&…

React+TS前台项目实战(十一)-- 全局常用组件提示语可复制Link组件封装

文章目录 前言HighLightLink组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇讲的这个组件,是一个用于高亮显示文本并添加可选的跳转链接,提示文本,复制文本的 React 组件 HighLightLink组件 1. 功能分析 &#x…

CentOS搭建kubernetes集群详细过程(yum安装方式)

kubernetes集群搭建详细过程(yum安装方式) Kubernetes,也被称为K8s,是一个多功能的容器管理工具,它不仅能够协调和调度容器的部署,而且还能监控容器的健康状况并自动修复常见问题。这个平台是在谷歌十多年…

VS2022打开.netcore2.2 问题解决

1.vs2022运行时一直提示异常 2.解决方法,双击当前的项目修改xxxx.csproj文件 把当前的版本修改为2.2.0即可重新编译运行

事务所管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,客户管理,评论管理,基础数据管理,公告信息管理 客户账户功能包括:系统首页,个人中心,律师管理&#xff0…

Java多线程设计模式之不可变对象(Immutable Object)模式

简介 多线程共享变量的情况下,为了保证数据一致性,往往需要对这些变量的访问进行加锁。而锁本身又会带来一些问题和开销。Immutable Object模式使得我们可以在不加锁的情况下,既保证共享变量访问的线程安全,又能避免引入锁可能带…