git的教程_给狗子的限定版

前言

本文是** Git 的一篇简单介绍**。我们从介绍版本控制工具的简单知识开始,然后简单讲解git的原理和工作流程 ,最后是关于如何设置 Git 以便立刻开始工作。出于对朋友的关心,添加如何把给 Git 融入日常工作流的一些例子。


关于版本控制

什么是“版本控制”?我为什么要关心它呢?

版本控制是一种记录一个或若干文件的内容变化,以便将来查阅特定版本修订情况的系统。

这是 Git 官方的介绍 .这个纯粹的定义大家可能都有点云里雾里.
我想在我们的日常生活中,我们其实不知不觉的也在使用版本控制系统的概念,比如你可能有着这样子的文件命名😂
git的教程_给狗子的限定版-0
我举得例子有点夸张,但其实特别是小组共同完成一个报告的时候,
你会觉得那实在是太灾难了(/▽\)


如果你是位图形或者网页设计师,可能需要保存某一副图片或页面布局文件的所有修订版本,采用版本控制系统是个很机智的选择.


为了解决这类问题( 但更多原因是因为大型软件的开发需要一群人协作完成 , 手动合并代码问题太多了 ),
人们发明了两大类版本控制系统,
一类集中化的版本控制系统(Centralized Version Control Systems,简称 CVCS),
一类分布式版本控制系统(Distributed Version Control System,简称 DVCS),
**而本文要介绍的 Git 正是 DVCS 中最闪亮的一颗明星. **
git的教程_给狗子的限定版-1


Git的原理和工作流程


git的教程_给狗子的限定版-2
Git 在逻辑上是有三个重要的空间 :

  1. **working directory,**实际上的工作目录,存储实际的文件,是你在电脑上直接持有的文件
  2. index ,暂存区,里面存储的就是第一张图里面那些文档的1.0 ,2.0版本的快照.

举个例子,你正在写一个代码,你目前这个程序终于可以跑起来了,你很开心,可你觉得这个代码也就能跑,你还想着改的更好一点,并不是只能跑就行,可你害怕自己改着改着代码可能运行不了. 你就可以提交你可以运行的那个版本代码到index 里,这样万一你不想改了,你最后还是有一个可以运行的版本,不至于竹篮打水一场空。

  1. Head, 指向你最后提交到index 的版本

题外话:
head 之后其实还有一个很重要的概念,云端仓库,你可以把你的代码提交到云端,这样你的所有版本代码都可以存储到云端,妈妈再也不用担心我的代码丢了😀
git的教程_给狗子的限定版-3


还有一个比较重要的是分支概念
git的教程_给狗子的限定版-4

比较通俗的例子就是小说,作者发现自己写死了一个人物后,很多人骂他,可他又不想丢弃那个写好的结局,他就可以无耻的告诉读者,我新开了一条剧情线,这次没有人死哦。让你可以享受两个故事。
还有最常用的就是代码了,毕竟一群人写代码嘛,总有人激进,有人保守,大家一起工作,总会有那种各执己见的情况,双方都无法说服彼此,那就只能开个分支,一个人搞个实验版本的,一个人继续稳定版。


希望你永远也用不上下面的命令,还有现在图形化界面很多,反正我是没咋用过命令行回退版本(偷笑)
git的教程_给狗子的限定版-5


如何设置 Git 以便立刻开始工作

  1. 去官网下载 Git
  2. 安装对应的版本
  3. 初始化你的git

推荐使用git bash 进行下列设置

git的教程_给狗子的限定版-6
先设置下你的用户名和邮箱
这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:

使用命令行输入

git config --global user.name "everr"
git config --global user.email everr@test.com

“everr”是你自己设置的名字,everr@test.com是你的邮箱地址,邮箱地址可以任意写.

然后回车确认即可


获取Git仓库

两种获取Git项目仓库的方法: 一是在现有项目或目录下导入所有文件到Git中; 二是从一个服务器克隆一个现有的Git仓库。

在现有目录中初始化仓库

进入该项目目录并输入:

git init

该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。
git的教程_给狗子的限定版-7
git的教程_给狗子的限定版-8

克隆其他人的项目

在此我要向你隆重介绍一个网站Github:
全球同性交友网站,

全球程序员代码托管网站。
大家秉承着开源精神,开放了自己的代码在网上,仅仅为了学习的话你尽情可以下载和使用,但根据不同的开源协议,对其他用途的使用做了严格规定。

简单来说,git是一个版本控制软件,github 是一个代码托管平台。

因为在实际生活中我们都可能遇到电脑死机,所以代码一定要备份。github 提供了免费代码托管,你可以在上面分享自己的一切,不止代码**。只要你认为它值得分享。**

代码托管平台不止 github(国内常常访问不了,最好自行科学上网),还有 gitee(GitHub国内版,速度很棒) gitlab (另一个很有名的代码托管平台)
找个空目录,右键打开Git bash, 输入

git clone https://github.com/PyFPDF/fpdf2.git
# 或者
git clone https://gitee.com/MinJieLiu/web-standard.git

git的教程_给狗子的限定版-9

提交add和commit

把实际工作目录的文件的版本推送到索引区

git add 文件名
#例如
git add 1.txt
#把一个文件加入暂存区
git add .
#把所有文件加入暂存区
#.代表全部文件

把索引区的几个文件提交到head

git commit -m "the first commit"	

git的教程_给狗子的限定版-10


把本地项目推送到github

由于本地Git仓库和Github仓库之间的传输是通过SSH加密的,所以连接时需要设置一下:

  • 创建SSH KEY。先看一下你C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建
$ ssh-keygen -t rsa -C "youremail@example.com"

然后一路回车。这时你就会在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件.

  • 登录Github —>点击右上角的图标 —>选择Settings —>点击左边的SSH and GPG KEYS —>点击右上角的New SSH key —>Title随便填 —>把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面 —>最后点击Add SSH key —>完成SSH Key的加密。具体步骤如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VmNsLw4Z-1689862693652)(assets/git的教程_给狗子的限定版-11.webp)]

  • 在Github上创建一个Git仓库。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OVgbvvoX-1689862693653)(assets/git的教程_给狗子的限定版-12.webp)]

在Github上创建好Git仓库后,存储好你的仓库地址
git的教程_给狗子的限定版-13

git remote add origin   https://github.com/k88hudson/git-flight-rules.git
#自己把网址换成你自己新建的网址
#最好全程科学上网或者使用gitee

和本地仓库进行关联
注意 origin 后面加的是你Github上创建好的仓库的地址。


关联好之后通过命令

git push -u origin master

将本地库的所有内容推送到远程仓(Github)

由于新建的远程仓库是空的,所以要加上-u这个参数,等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需

git push origin master

刷新Github页面进入刚才新建的仓库里面就会发现项目已经上传成功

剩下的慢慢写

。。。。。
限于篇幅和个人能力,
其实git挺复杂的
我目前也就打算写这么多,剩下的嘛
我相信狗子你自学能力可以的(认真脸)

推荐链接

git简明指南
git 在线练习
《github漫游指南》
git 官方教程
使用git将本地项目推送到远程仓库github

如何查看每个commit到底修改了什么,红色部分代表删除,绿色备份代表新增的
git的教程_给狗子的限定版-14

例子:
add
git的教程_给狗子的限定版-15
commit
git的教程_给狗子的限定版-16
git的教程_给狗子的限定版-17
push
git的教程_给狗子的限定版-18
git的教程_给狗子的限定版-19
813beb43bf9c874dcdc6f288eb.png)
push
git的教程_给狗子的限定版-18
git的教程_给狗子的限定版-19

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值