学会使用Git 和 GitHub

Git和github使用简洁教程 Git 相关命令 进入要管理的目录 git init 初始化 让git 帮助我们管理当前文件夹 git status 检测当前目录下的文件状态 三种状态的变化 *红色:新增的文件 /修该了原来的老文件 -> git add 文件名 变成绿色 *绿色: git 已经管理起来 -> git commit -m ‘版本号’ *生成版本 个人信息配置:用户名、邮箱 git log 查看版本记录 git reset --hard (commit 版本号) 切当前版本为历史 阅读详情

Git 和 GitHub 都是程序员每天都要用到的东西 —— 前者是目前最先进的 版本控制工具,拥有最多的用户,且管理着地球上最庞大的代码仓库;而后者是全球最大 同性交友 代码托管平台、开源社区。

在没有这两个工具时,编程可能是这样的:

  • 哪个同事修改了我的代码 我要🔪了他
  • 我把自己的代码改崩溃了 我选择自杀
  • 电脑崩溃、硬盘损坏、中毒,几万行代码找不到了 😱

但有了他们,一切都不一样了:

  • 同步代码到网络仓库,在家里写好代码上传,回到公司就可以继续写了,而且不怕丢失。
  • 记录每次代码的修改,即使把程序写崩了,也能及时回溯到上一个版本,这在产品更新时也经常使用。
  • 可以多人协作完成项目,每个人的提交都有清晰的记录。

在之后的学习中,你也会不断用到 Git 和 GitHub,把你完成的项目、学习记录,同步在 GitHub 的仓库中。这样做的结果是:你将有一份 非常漂亮的 GitHub 主页,能给你的简历加分很多。

接下来,我们将学习 Git 的基本操作,并注册 GitHub 账户,建立你的第一个代码仓库!

Git 与 GitHub 的历史

Linux 之父林纳斯(Linus) 在 1991 年创建了开源的 Linux 系统,随着 Linux 代码量越来越大,合并志愿者提交的代码已经无法依靠人工完成,所以 林纳斯 选择了商业的管理软件 BitKeeper ,来管理 Linux 的代码版本。

在 2005 年,BitKeeper 公司发现,有 Linux 社区的人试图破解 BitKeeper 软件,他们决定收回 Linux 社区的免费使用权。Linus 对此事调解数周无果,决定自己搞一个。他花了十天时间用 C 语言写好了一个开源的版本控制系统,就是著名的 Git。

(先写出一个操作系统,再用 10 天写出 Git,林纳斯已经不能用大神来形容,只能理解为外星人来技术扶贫的)

2007 年,旧金山的三个年轻人觉得 Git 是个好东西,创建一个公司名字叫 GitHub,第二年上线了使用 Ruby 编写的同名网站。这是一个基于 Git 的免费代码托管网站(有付费服务),十年间迅速蹿红,击败了实力雄厚的 Google Code,成为全世界最受欢迎的代码托管网站。根据 2018 年 10 月的 GitHub 年度报告显示,目前有 3100 万开发者创建了 9600 万个项目仓库,有 210 万企业入驻。

值得一提的是,GitHub 的创始人、CEO —— Wanstrath 是一位大学肄业,自学成才的程序员。

而他大学的专业是英语,相当于我们的“汉语言文学”专业,是一名地地道道的 “文科生”,如今,他的身家可能超过了 10 亿美元,也算是一位自学编程成才的标志人物吧。

Git 的安装

Git 是一个版本控制系统,可以理解为一个工具,使用之前必须得先下载安装,所以第一步必须要安装。

  • Windows:GitForWindows
  • Mac 系统安装:git-osx-installer
  • Linux:在终端输入命令行安装
  • Debian 系列:apt-get install git
  • Fedora 上:yum install git-core

由于环境中预装了 Git,打开 终端 ,输入 git 可以检测是否安装成功:

如图,如果成功安装了 Git,会显示 Git 的常用命令,以后忘记命令时,也记得输入 git 查看一下~

在 GitHub 上创建仓库

下面,我们通过一次上传 GitHub 的完整操作,实践学习 Git 的常用功能。

首先,申请一个 GitHub 账户。

打开 GitHub,你可以在主页的 banner 上快速注册,或者点击右上角的 Sign up 注册。

下一步,我们选择创建一个免费账户。

下一步,回答两个问题,也可以在最下面选择跳过:

最后,去注册邮箱中接收验证邮件,验证后,自动用新注册账户登录,进入 GitHub 主页。

第二步,我们来新建一个代码仓库。

仓库( repository),可理解为储存代码的场所,点击个人主页的右上角的加号,再点击 New repository,即可创建新的仓库:

然后给仓库命名(比如说 Demo),然后点击 Create Repository,无需考虑本页面的其他选项。

创建后,页面跳转到新建仓库的主页面,第一步成功了!

添加 SSH 关联授权

2021 年 8 月 GitHub 不再允许使用账户密码操作 GitHub,必须使用 SSH 密钥登陆。

2022 年 3 月 15 日,GitHub 又通过删除较旧的不安全密钥类型提高了安全性。

接下来,我们可以在系统中创建 SSH 公私钥,并将公钥放到 GitHub 指定位置。如此操作即可生成 GitHub 账户对于当前系统中的 Git 授权。

在终端执行下面命令,每次询问按回车即可。

ssh-keygen -t ed25519-C “你的邮箱地址”

终端执行 ssh-keygen 命令按几次回车生成公私钥,公私钥存放在主目录下的隐藏目录 .ssh 中的两个文件中:

将 ~/.ssh/id_ed25519.pub 文件中的公钥内容复制出来,实验环境中可以使用右侧工具栏中的剪切板复制:

然后在 GitHub 网页上添加公钥:

Title 自定义,把剪切板中的内容粘贴到 Key 中,点击绿色按钮添加 SSH Key 即可:

使用 SSH 的好处主要有两点:

  • 免密码推送,执行 git push 时不再需要输入用户名和密码了;
  • 提高数据传输速度。它不是必须的,比如在课程中挑战环境是不可保存的,一次性的,这种环境就没有必要创建 SSH 了,因为相较好处来说,还是太麻烦了。

克隆 GitHub 上的仓库到本地

现在克隆前面我们在 GitHub 上创建的仓库,使用 git clone + [仓库地址] 命令即可,这是标准的克隆仓库命令。

回到仓库主目录,点击下图所示的绿色按钮,点击紫色框中的 “Use SSH”,然后复制这个链接。

重要的一点:只有使用这种 git 开头的地址克隆仓库,SSH 关联才会起作用。

在实验环境里删除原仓库,使用此链接重新克隆仓库。克隆仓库是需要确认连接,输入 yes 即可:

进入仓库主目录,如下图所示,仓库主目录中有个 .git 隐藏目录,它里面包含了仓库的全部信息,删掉这个目录,仓库就变成普通的目录了。进入到仓库目录中,命令行前缀发生了一些变化,出现了红色的 master ,它就是当前所在的分支名:

当我们在 GitHub 上创建一个仓库时,同时生成了仓库的默认主机名 origin,并创建了默认分支 master。GitHub 可以看成是免费的 Git 服务器,在 GitHub 上创建仓库,会自动生成一个仓库地址,主机就是指代这个仓库,主机名就等于这个仓库地址。克隆一个 GitHub 仓库(也叫远程仓库)到本地,本地仓库则会自动关联到这个远程仓库,执行 git remote -v 命令可以查看本地仓库所关联的远程仓库信息:

Git 要求对本地仓库关联的每个远程主机都必须指定一个主机名(默认为 origin),用于本地仓库识别自己关联的主机,git remote 命令就用于管理本地仓库所关联的主机,一个本地仓库可以关联任意多个主机(即远程仓库)。

克隆远程仓库到本地时,还可以使用 -o 选项修改主机名,在地址后面加上一个字段作为本地仓库的主目录名,举例如下:

另一个在其它 Git 教程中常见的命令 git init ,它会把当前所在目录变成一个本地仓库,因为有 GitHub 的存在,这个命令在我们的生产生活中用到的次数应该是零,除非你想费时费力自己搭建服务器。操作截图如下:

本文转自网络,如有侵权,请联系删除。

学习资源推荐

除了上述分享,如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。

这里给大家展示一下我进的兼职群和最近接单的截图

兼职群

私单

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

image-20230619144606466

因篇幅有限,仅展示部分资料,添加上方即可获取
STM32与K210串口通信 这篇文章是为了填上一篇埋下的坑,k210和STM32通过串口通信,我是采用数据包的形式发送数据的,因为K210发送的数据有几种,采用数据包的形式发送比较安全。本文代码运行的平台是STM32F103C8T6和K210 Dock,只涉及到K210发送数据给STM32,stm32将接受到的数据显示到0.96寸OLED屏上。 阅读详情

相关推荐

【DAB收音机】DAB 认证介绍

DAB 认证ESTI 标准文档: ETSI 103461实际过认证时,需要根据产品的受众国家及区域,参考当地官方是否有国内认证协议。需要参考当地文档进行功能开发。例如:阿联酋地区用《UAE.S 5021 _ 2018.pdf》标准进行认证。ESTI 的DAB认证协议规定了家用和车载数字无线电的最低要求,及其对应的测试方法,是数字无线电认证标志规定的技术基础。本文以车载数字无线电接收器为例,进行部分DAB认证的介绍,详情请见官方文档。或联系博主获取DAB ESTI 103461的中文翻译资料。

qq_15271231的博客 1220

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

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

2301_76655007的博客 12万+

ARIMA模型的R实现

1.模型简介 ARIMA模型,全称差分自回归移动平均模型。可以看作是差分运算和ARMA模型的结合。主要是针对具有线性趋势的非平稳的时间序列,来进行建模预测。 ARIMA模型的形式如下: Φ(B)∇

heirenmin的博客 1万+

学会Git玩转Github——Github的下载和基本使用教程

Github和Git是什么关系 Git是版本控制软件 Github是项目代码托管的平台,借助git来管理项目代码 git是一个版本控制工具. 主要解决三个问题 1. 代码被喵星人吃掉了. 2. 产品经理反复修改需求, 需要同时维护多个版本代码. 3. 多人协同开发. Github 是 "全球最大的同性社交网站". 通过 git 可以把代码上传到 Github 上给全球的用户分享。 ...

陌上人如玉,公子世无双。 1956

【暂时完结】Prescan学习笔记

Prescan学习记录1. Prescan基础知识1.1 Conventions·坐标1.2 Road segment·道路片段1.2.1 让一个路段连接其他两个路段1.2.2 配置车道线1.2.3 Road marking·道路标志1.3 Trajectory·轨迹1.3.1 建立一个Path·路径1.3.2 配置Speedprofile1.3.3 Synchronization of Trajectories·轨迹同步1.3.4 Multiple trajectories · 多轨迹分配 1. Pres

dreautumn的博客 1万+

安卓无障碍服务保活实战:如何用AccessibilityService实现后台常驻(附完整代码)

本文深入解析如何利用Android无障碍服务(AccessibilityService)实现后台服务保活,涵盖多版本系统适配、前台服务集成、开机自启机制等关键技术。通过详细的Kotlin代码示例和合规性指导,帮助开发者构建稳定可靠的后台服务解决方案,同时避免因滥用无障碍服务导致的应用下架风险。

milk5的博客 1074

快速学会使用git和github

快速学会使用git一,认识git和githubgit是一个版本管理工具。(控制系统)github是全球最大的同性交友平台。(平台)用于项目托管。仓库(repository):每个项目对应一个项目仓库。收藏(star):被超过100个==牛逼。复制克隆(fork):从别人的仓库那里复制仓库,自动标识仓库来源。(特别注意这是独立存在的)复制的长裤更新源代码Pull request发起请求到原仓库,原仓...

泛酸的桂花酒 348

uniapp+萤石视频监控实战:解决ezuikit.js真机调试不显示的5个关键步骤

本文针对Uniapp集成萤石视频监控时ezuikit.js在真机调试中黑屏不显示的问题,提供了5个关键解决步骤。核心方案是采用Webview加载独立H5播放页,以规避跨平台环境差异,并详细阐述了资源放置、多端适配、通信处理及系统化排查方法,确保视频流稳定播放。

weixin_29001655的博客 290

一篇文章让你学会Git及GitHub的使用

git 是一个免费开源的分布式版本控制系统,它使用一个特殊的叫做仓库的数据库来记录文件的变化。git 可以通过类似于游戏存档-读档的方式来管理文件,以此可以跟踪每个文件的变化,使项目成员之间的协作更加高效。集中式版本控制系统:所有文件都保存在中央服务器上,每个用户只保存副本。分布式版本控制系统:每个用户都有完整的版本库,用户之间可以同步修改的内容。分支(branch),可以看作是代码库中的不同版本,它们可以独立存在,并且有自己的提交记录。分支非常适合团队协作和开发管理。

qq_67140973的博客 940

mipi deskew原理理解

何为skew, 从字面意思看是倾斜了,不对齐了;放在mipi的传输中意思就是clock lane和data lane 及data lane与data lane间出现了相位差;一旦出现相位差,大家采样数据时就可能不在同一个节拍上,会出现传输错误。所以就要做deskew,通过做deskew来使得大家重新对齐,在同一个节奏下传输数据. 一般当data rate高于1.5G时建议开启deskew。

lx123010的专栏 8105

OpenClaw Docker 安装与部署教程,环境隔离不冲突技术指南

本文介绍了使用Docker容器化部署OpenClaw的完整教程。首先通过流程图详细说明了Docker环境检测流程,包括系统支持性检查、Docker安装状态验证、版本检测和服务配置等步骤。然后提供了Windows、macOS和Linux(Ubuntu/CentOS)系统下的Docker安装指南,涵盖从下载、安装到权限配置的全过程。最后介绍了OpenClaw官方镜像的拉取方法以及自定义镜像构建的Dockerfile示例。该教程适用于开发和生产环境,利用Docker实现环境隔离和快速部署。

一键难忘的博客 992

学会git,使用git将本地仓库推送到github仓库上

Git是免费的、最好用的分布式版本控制系统 集中式版本控制系统和分布式版本控制系统 首先说说集中式版本控制系统,比如svn,是将项目的版本库集中存放在中央服务器的,每次开发项目的时候都要用自己的电脑,从中央服务器取得最新的项目版本,每次对项目进行修改的期间可能有人提交了自己的修改,所以需要获取最新的版本后才进行提交,推送到中央服务器。最大的问题是需要联网,需要网速提交自己的修改。 相比较分布...

m0_37820751的博客 306

UFS总体介绍及FPGA开发

通过实现UFS的主控制器、设备控制器等组件,我们可以在FPGA上进行UFS开发,并实现高速数据传输和低功耗特性的存储解决方案。物理层负责传输物理信号,数据链路层提供数据包的传输和错误检测功能,传输层处理数据包的分段、重组和重传,逻辑层管理设备和主控制器之间的命令和数据传输,文件系统层负责文件管理和数据存储。在本文中,我们将介绍UFS的总体架构和特性,并探讨如何在FPGA上进行UFS开发。这些组件的实现涉及到UFS协议的具体细节和硬件平台的特性,因此需要参考UFS协议规范和FPGA开发平台的相关文档。

PodProgram的博客 2138

一文学会使用Git将本地代码上传GitHub仓库

将代码上传到 GitHub 的好处有以下几点: 代码备份:将代码上传到 GitHub,在本地电脑数据丢失或出现其他突发情况时,可以保证代码的安全。在 GitHub上,用户可以创建公共或者私有仓库,保留自己的代码并方便其他开发者的参考和使用。 多人协作:GitHub提供了高效的团队协作平台,多个团队成员可以同时参与同一个项目,并实时地查看、编辑、合并代码等。各种工具和功能都是为高效团队开发而设计的。 参考学习:在 GitHub 上,用户可以查找到许多开源项目和代码,可以研究交流已有的高质量代码,受益于其

weixin_43599321的博客 3074

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

学会Git玩转Github笔记(二)——Git使用

一、Git基本工作流程 Git工作区域 向仓库中添加文件流程   二、 Git初始化及仓库创建和操作 基本信息设置 1. 设置用户名 git config --global user.name 'itcastphpgit1' 2. 设置用户名邮箱 git config --global user.email '12345678@qq.com' 脚下留心:该设置在gi

kong_lev的博客 411

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Git 和 gitHub使用(9步学会)

第一步:下载安装 git 下载git(点击下载git后会自动下载,安装时一路next就OK了) 第二步: 配置git 这里 我们 要学习两个 git 命令 # 在 全局 配置 git 用户名 $ git config --global user.name "Your Name" # 在 全局 配置 git 用户邮箱 $ git config --global user.email "em...

Gleason 773

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Git入门到精通全套教程(涵盖GitHub\Gitee码云)

根本没有“中央服务器”,==每个人的电脑==上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。肯定不是每天都把自己的代码复制出来一份,放到一个文件夹里。

xm1037782843的博客 1764

如何使用与学习github?

分支管理:使用分支管理不同的功能模块或修复,保证 master 分支(或主分支)始终是稳定的版本。Fork:如果你想贡献别人的项目,可以先通过 Fork 创建一个你自己的副本,然后在这个副本上做修改,最后通过 Pull Request 请求原作者合并你的修改。GitHub Learning Lab:GitHub 官方提供的学习平台,包含多个关于 Git 和 GitHub 的实战教程,适合初学者和有经验的开发者。GitHub 的使用建立在对 Git 的理解上,学会 Git 是学习 GitHub 的第一步。

2301_80013718的博客 458

IDEA与GitHub

目录 一.Git的基本概念 二、IDEA配置 (一)IDEA配置Git (二)github设置token (三)IDEA登录github 三、IDEA项目创建本地git仓库并上传至Github网站上 四、IDEA启动springboot项目 一.Git的基本概念 1.Git是分布式的版本管理系统,每台机器都可以基于远程中心服务器拥有自己的版本 2.远程中心服务器一般叫做Origin repository。 3.本地计算机包含包含三个区域: (1) 工作目录(workin...

m0_61811389的博客 936

半小时学会使用Git(二)

上一次在半小时学会使用Git(一)一文中,我主要记录了Git是什么东西,在Windows下安装Git以及使用Git创建仓库三大内容。那么作为该文的续篇,这篇文章我将主要记录历史版本管理和远程仓库github两方面的内容。 话不多说,直接进入正题。 一、历史版本管理 前面已经说过,Git作为分布式版本控制系统,它的核心功能就是做版本控制。所谓的版本控制,说白了不就是对迭代多次过后的历史版本进行...

qq_39982620的博客 662

git如何安装aur_Pycharm上Git安装和使用(程序员必备)

GitHub是一个面向开源及软件项目的托管平台,目前注册用户已经超过350万,托管版本数量也是非常多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。个人认为,作为一名程序员,学会使用和利用好GitHub这个非常方便的工具非常必要,Git可以非常方便的上传和下载你的代码,特别作为初学者,你可以把平常练习的代码和笔记统统放在GitHub上面,对你们找以后工作和程序调...

weixin_29129833的博客 147

从 0 开始学习 Git 与 GitHub

从 0 开始学习 Git 与 GitHub 这篇我就不自己写了,在学习 Git 与 GitHub 的时候发现了几个篇文章,真的写的很好,在这里推荐给大家。 如果是初学者的话,你们应该对 Git 和 GitHub 之间的关系很模糊吧!据初学者的了解,Git 就是托管代码的,甚至有的还不知道 Git 是干什么的。那 GItHub 呢?学习开源项目的?是的,没错,他们是可以这样用,但是觉得你们对 Git...

pngyul的博客 378

GitHub的使用

github

T1401026064的博客 588

Git与Github的使用

Git与Github的连接使用 git的使用参考文章:http://blog.jobbole.com/78960/ 待学习git的使用,文件的更新,同步等 git是一个分布式版本控制系统 存在于客户端 github是一个用git做版本控制的项目托管平台。服务器 一、Github注册账户以及创建仓库 不详细讲解 二、安装git客户端 windows:http://ms......

5ingwings(SiHao)的博客 2793
上一篇: python绘制立体玫瑰花
下一篇: 为什么Python发展得如此之快?
大模型应用场景
博客等级 码龄5年 7672粉丝 1350原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值