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.mzph.cn/web/28021.shtml

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

相关文章

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

文章目录 前言Button组件1. 功能分析2. 代码注释说明3. 使用方式4. 效果展示(1)有加载动画,执行promise函数(2)无加载动画,执行click事件 总结 前言 今天这篇主要讲全局按钮组件封装,可根据UI设…

2023年13个最适合销售电子书的WordPress主题

欢迎来到我们用于销售电子书和其他数字/可下载产品(软件、应用程序、图标集、主题等)的最佳WordPress主题的完整集合。 这些主题有内置的支付网关,可以通过 PayPal、信用卡等处理安全支付。(易于配置!) 最…

如何进行文件映射

创建一个文件WebMvcConfig package com.itheima.config;import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.…

红队攻防渗透技术实战流程:中间件安全:JettyJenkinsWeblogicWPS

红队攻防渗透实战 1. 中间件安全1.1 中间件-Jetty-CVE&信息泄漏1.2 中间件-Jenkins-CVE&RCE执行1.2.1 cve_2017_1000353 JDK-1.8.0_291 其他版本失效1.2.2 CVE-2018-10008611.2.3 cve_2019_100300 需要用户帐号密码1.3 中间件-Weblogic-CVE&反序列化&RCE1.4 应…

zip加密txt文件后,暴力破解时会有多个解密密码可以打开的疑问??

最近在做一个关于zip压缩文件解密的测试,发现通过暴力解密时,会有多个解密密码可以打开,非常疑惑,这里做个问题,希望能有大佬解惑。 1、首先在本地创建一个113449.txt的文件,然后右键txt文件选择压缩&…

RoCE网络架构在高性能计算的应用

浅析RoCE在高性能计算的应用 在高性能计算(HPC)系统的发展初期,通常选择专业网络解决方案,如Myrinet、Quadrics和InfiniBand,而不是以太网解决方案。通过定制网络方案可以有效解决以太网解决方案的限制,增强带宽、降低延迟、改善拥塞控制。 2010年,IBTA推出了RoCE协议技…

PyQT5 键盘模拟/鼠标连点器的实现

近来在玩一个游戏,找不到合适的鼠标连点器,不是有广告就是功能太复杂,自己写了一个,分享出来,如果有需要的可以自行运行研究。 准备工作 Python版本:Python 3.12.3;运行前确保pyQT5已经安装: pip install PyQt5程序运行界面: 程序代码: 通过引入单独的常量和变…

智能计算系统-概述

1、人工智能技术分层 2、人工智能方向人才培养 3、课程体系的建议 4、智能系统课程对学生的价值 5、智能计算系统对老师的价值 6、什么是智能计算系统 7、智能计算系统的形态 8、智能计算系统具有重大价值 9、智能计算系统的三大困难 10、开创深度学习处理器方向 11、寒武纪的国…

用一个ESP32S3-Zero把有线键盘变为无线

三脚猫最近一直琢磨,那些喜欢买剪线键盘,以及自制键盘瞎折腾的人都是怎么搞的。经过不懈努力,终于想明白除了直接的硬件一个个pin针的高低电压判断后转给蓝牙,拿到现成的古董剪线键盘还有一个方式其实是在usb host转发给蓝牙类似这…

北斗三代一体式数传终端短报文

北斗三代一体式数传终端短报文M20C-V30针对船载通信和导航应用推出的一款支持北斗 RDSS/RNSS 功能的船载一体机。北斗数传终端内部集成了北斗多频天线、射频、基带以及主控等功能单元,可实现 RDSS 定位、短报文通信和 RNSS 导航定位等功能。M20C-V30型北斗数传终端体…

Java线程池的抛弃策略

Java线程池的抛弃策略 Java线程池是Java并发编程中非常重要的一个组件。它通过重用已创建的线程来减少线程创建和销毁的开销,从而提高应用程序的性能和响应速度。然而,当线程池中的任务数量超过其处理能力时,就需要一种机制来处理新提交的任…

datax的安装及使用入门

1 下载解压Datax tar包 下载到自己指定的安装目录 #wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz 进行解压 tar -zxvf datax.tar.gz 2 Datax验证 #修改datax/bin目录下datax.py的权限 chmod 777 datax/bin/datax.py 2.1运行官方给定的任务…

【Pandas驯化-03】Pandas中常用统计函数mean、count、std、info使用

【Pandas驯化-03】Pandas中常用统计函数mean、count、std、info使用 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 相关内容文档获取 微…

springboot集成shardingsphere-分库分表

导入maven依赖&#xff0c;如下 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><a…

哈工大-公差基础-配合(互换性和测量基础)-3

基轴制的情况&#xff1a; 三种配合类别的选择&#xff1a; 公差带是由标准公差和基本偏差组成的。 公差带的选用&#xff1a; 未注公差的标准&#xff1a; 练习&#xff1a; 计算过程&#xff1a;

【MySQL】在CentOS环境下安装MySQL

目录 一、卸载残留环境 二、获取官方yum源 三、安装yum源 四、安装MySQL 五、启动MySQL 一、卸载残留环境 输入 ps axj | grep mysql 查看是否存在正在运行的MySQL服务 如果有&#xff0c;则先输入 systemctl stop mysqld 来关闭服务 然后输入 rpm -qa | grep mysql 查看…

报错 Cannot read properties of undefined(reading‘addEventListener‘)如何解决

我在制作项目中遇到了一个问题&#xff0c;给大家分享一下&#xff0c;如下图&#xff1a; 问题&#xff1a;这是我给一个input输入框绑定的监听事件出现的报错 翻译&#xff1a;无法读取未定义的属性(读取 addEventListener ) 错误原因&#xff1a;js中操作的dom元素的函数方…

LabVIEW软件开发任务的工作量估算方法

在开发LabVIEW软件时&#xff0c;如何准确估算软件开发任务的工作量。通过需求分析、功能分解、复杂度评估和资源配置等步骤&#xff0c;结合常见的估算方法&#xff0c;如专家判断法、类比估算法和参数估算法&#xff0c;确保项目按时按质完成&#xff0c;提供项目管理和资源分…

【JKI SMO】框架讲解(一)

JKI State Machine是一款易于使用且功能强大的状态机模板&#xff0c;可以作为界面或者仪器工作流程的基础框架&#xff0c;但是他不能处理复杂系统的多任务并发机制&#xff0c;因为他是只能处理单个进程。 随之&#xff0c;JKI推出了基于面向对象封装的SMO框架&#xff0c;是…

【云原生】docker swarm 使用详解

目录 一、前言 二、容器集群管理问题 2.1 docker集群管理问题概述 2.1.1 docker为什么需要容器部署 2.2 docker容器集群管理面临的挑战 三、docker集群部署与管理解决方案 四、Docker Swarm概述 4.1 Docker Swarm是什么 4.1.1 Docker Swarm架构图 4.1.2 Docker Swarm几…