Github基础

Github基础


作者:chx

文章目录


一、版本控制软件

1.1 概述 一个用来记录文件变化,以便将来查阅特定版本修订情况的系统

1.2 优点

在这里插入图片描述

1.3 版本控制系统的分类

1.3.1 本地版本控制系统

在这里插入图片描述

使用软件来记录文件的不同版本,提高了工作效率,降低了手动维护版本的出错率
单机运行,不支持多人协作开发
版本数据库故障后,所有历史更新记录会丢失

1.3.2 集中化的版本控制系统

在这里插入图片描述

优点 联网运行,支持多人协作开发、节省磁盘空间
缺点 不支持离线提交版本更新、中心服务器崩溃后,所有人无法正常工作、版本数据库故障后,所有历史更新记录会丢失、耗时、效率低
典型代表:SVN
特点 服务器保存文件的所有更新记录、客户端只保留最新的文件版本、基于差异的版本控制,它们存储的是一组基本文件和每个文件随时间逐步累积的差异

在这里插入图片描述

1.3.3 分布式版本控制系统(主要)

在这里插入图片描述

特点
服务器保存文件的所有更新记录
客户端是服务器的完整备份
典型代表:Git
优点 联网运行,支持多人协作开发、客户端断网后支持离线本地提交版本更新、服务器故障或损坏后,可使用任何一个客户端的备份进行恢复、版本切换时非常快
缺点 占用磁盘空间较大


二、Git

2.1 Git特点

2.1.1 Git快照是在原有文件版本的基础上重新生成一份新的文件,类似于备份

2.1.2 如果文件没有修改,Git不再重新存储该文件,而是只保留一个链接指向之前存储的文件

在这里插入图片描述

2.1.3 近乎所有操作都是本地执行 断网后依旧可以在本地对项目进行版本管理,联网后,把本地修改的记录同步到云端服务器即可


2.2 Git中的三个区域

2.2.1 工作区 处理工作的区域

2.2.2 暂存区 已完成的工作的临时存放区域,等待被提交

2.2.3 Git 仓库 最终的存放区域


2.3 Git 中的三种状态

2.3.1 已修改 工作区的文件被修改了,但还没有放到暂存区

2.2.2 已暂存 文件已修改并放入暂存区

2.2.3 已提交 Git仓库中保存着特定版本的文件


2.4 基本的 Git 工作流程

在这里插入图片描述

2.5 Git使用

2.5.1 下载

https://git-scm.com/download/win

2.5.2 配置用户信息

打开Git Bash Here
输入下列命令,运行一次永久生效

在这里插入图片描述

2.5.3 Git的全局配置文件

打开路径C:/Users/用户名文件夹/.gitconfig查看配置文件是否是正确信息

在这里插入图片描述

2.5.4 检查配置信息

查看所有全局配置项 git config --list --global

在这里插入图片描述

查看指定指定配置项 git config user.name、git config user.email

在这里插入图片描述

2.5.5 获取帮助信息

无需联网在浏览器中打开帮助手册 git help config
更简明的手册 git config -h

在这里插入图片描述

2.5.6 获取 Git 仓库的两种方式

将尚未进行版本控制的本地目录转换为 Git 仓库(主要)
在项目目录中,通过鼠标右键打开“Git Bash”
执行 git init 命令将当前的目录转化为 Git 仓库
git init 命令会创建一个名为 .git 的隐藏目录,就是当前项目的 Git 仓库
里面包含了初始的必要文件,这些文件是 Git 仓库的必要组成部分

从其它服务器克隆一个已存在的 Git 仓库

2.5.7 检查文件的状态

工作区中文件的 4 种状态 系统文件默认是未跟踪

在这里插入图片描述

查看文件处于什么状态 git status

在这里插入图片描述

	// 新建的 index.html 文件出现在 Untracked files(未跟踪的文件)下面。
	// 未跟踪的文件意味着 Git 在之前的快照(提交)中没有这些文件
以精简的方式显示文件状态 git status -s

在这里插入图片描述

2.5.8 跟踪新文件 git add 文件名

新添加到暂存区中的文件前面有绿色的 A 标记
git add命令的功能
可以用它开始跟踪新文件
把已跟踪的、且已修改的文件放到暂存区
把有冲突的文件标记为已解决状态在这里插入图片描述

2.5.9 提交更新 git commit -m "本次提交的说明"

暂存区中文件被提交到 Git 仓库中进行保存

在这里插入图片描述
在这里插入图片描述

2.5.10 对已提交的文件进行修改

修改了工作区中 index.html 的内容之后,再次运行 git status 和 git status -s 命令会出现以下内容 说明已跟踪文件的内容发生了变化,但还没有放到暂存区

在这里插入图片描述

2.5.11 暂存已修改的文件

需要再次运行 git add

在这里插入图片描述

2.5.12 提交已暂存的文件

再次运行 git commit -m "提交消息" 命令

在这里插入图片描述
在这里插入图片描述

2.5.13 撤销对文件的修改 git checkout -- 文件名

把对工作区中对应文件的修改,还原成 Git 仓库中所保存的版本
所有的修改会丢失,且无法恢复!危险性比较高,请慎重操作!
用 Git 仓库中保存的文件,覆盖工作区中指定的文件

在这里插入图片描述

2.5.14 向暂存区中一次性添加多个文件 git add .

一次性将所有的新增和修改过的文件加入暂存区,今后在项目开发中,会经常使用这个命令。

在这里插入图片描述

2.5.15 移除文件

只移除暂存区文件git reset HEAD 要移除的文件名
同时移除Git仓库和工作区文件 git rm -f 要移除的文件名
只移除Git 仓库文件,保留工作区对应的文件 git rm --cached 文件名

2.5.16 跳过使用暂存区域 git commit -a -m "描述信息"

工作流程是工作区 → 暂存区 → Git 仓库略显繁琐, 工作的流程简化为了工作区 → Git 仓库
跳过 git add 步骤

2.5.16 忽略文件 创建一个名为 .gitignore 的配置文件,列出要忽略的文件的匹配模式

以 # 开头的是注释
以 / 结尾的是目录
以 / 开头防止递归
以 ! 开头表示取反
可以使用 glob 模式进行文件和文件夹的匹配(glob 指简化了的正则表达式)

在这里插入图片描述
在这里插入图片描述

2.5.17 查看提交历史git log

在这里插入图片描述

2.5.18 回退到指定的版本

在这里插入图片描述

2.5.19 从旧版本恢复到指定的新版本

在这里插入图片描述



三、Github

3.1 什么是开源

3.1.1 开源即开放源代码

3.1.2 基本含义 代码是公开的

3.1.3 任何人都可以查看,修改和使用开源代码

在这里插入图片描述

3.2 开源许可协议 限制使用者的使用范围和保护作者的权利

3.2.1 BSD(Berkeley Software Distribution)

3.2.2 Apache Licence 2.0

3.2.3 GPL(GNU General Public License)

具有传染性的一种开源协议,不允许修改后和衍生的代码做为闭源的商业软件发布和销售
使用 GPL 的最著名的软件项目是:Linux

3.2.4 LGPL(GNU Lesser General Public License)

3.2.5 MIT(Massachusetts Institute of Technology, MIT)

在修改后的代码或者发行包中,必须包含原作者的许可信息
使用 MIT 的软件项目有:jquery、Node.js

3.3 开源项目托管平台

3.3.1 Github (全球最牛的开源项目托管平台,只支持 Git 作为唯一的版本控制工具)

在这里插入图片描述

3.3.2 Gitlab (对代码私有性支持较好,因此企业用户较多)

3.3.3 Gitee (又叫做码云,是国产的开源项目托管平台。访问速度快、纯中文界面、使用友好)


3.4 Github使用

3.4.1 新建空白远程仓库

在这里插入图片描述

3.4.2 远程仓库的两种访问方式

HTTPS
零配置
每次访问仓库时,需要重复输入 Github 的账号和密码才能访问成功

SSH(推荐)
需要进行额外的配置
配置成功后,每次访问仓库时,不需重复输入 Github 的账号和密码

3.4.3 基于 HTTPS 将本地仓库上传到 Github

在这里插入图片描述

3.4.4 基于 SSH key 将本地仓库上传到 Github

SSH key
SSH key作用 实现本地仓库和 Github 之间免登录的加密数据传输
SSH key 的好处 免登录身份认证、数据加密传输
SSH key 组成 id_rsa(私钥文件,存放于客户端的电脑中即可)、id_rsa.pub(公钥文件,需要配置到 Github 中)
生成 SSH key
打开 Git Bash
粘贴如下的命令,并将 your_email@example.com 替换为注册 Github 账号时填写的邮箱 ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
连续敲击 3 次回车,即可在 C:\Users\用户名文件夹.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件

配置 SSH key
使用记事本打开 id_rsa.pub 文件,复制里面的文本内容
在浏览器中登录 Github,点击头像 -> Settings -> SSH and GPG Keys -> New SSH key
将 id_rsa.pub 文件中的内容,粘贴到 Key 对应的文本框中
在 Title 文本框中任意填写一个名称,来标识这个 Key 从何而来

检测 Github 的 SSH key 是否配置成功 ssh -T git@github.com

在这里插入图片描述

将本地仓库上传到 Github

在这里插入图片描述

3.4.5 远程仓库克隆到本地 git clone 远程仓库的地址



四、Git分支

4.1 概述 在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目功能的开发


4.2 master 主分支 初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支

4.2.1 通常把master分支叫做主分支

4.2.2 作用 用来保存和记录整个项目已完成的功能代码

4.2.3 不允许程序员直接在 master 分支上修改代码 因为这样做的风险太高,容易导致整个项目崩溃


4.3 功能分支

4.3.1 作用 专门用来开发新功能的分支

4.3.2 当新功能开发且测试完毕后,最终需要合并到 master 主分支上


4.4 分支操作

4.4.1 查看分支列表 git branch

* 号表示当前所处的分支

在这里插入图片描述

4.4.2 创建新分支 git branch 分支名

基于当前分支,创建一个新的分支,此时,新分支中的代码和当前分支完全一样
用户当前还是处在主分支

在这里插入图片描述

4.4.3 切换分支 git checkout 分支名

在这里插入图片描述
在这里插入图片描述

4.4.4 分支的快速创建和切换 git checkout -b 分支名

在这里插入图片描述

4.4.5 合并分支 git merge 功能分支名

先完成功能分支的代码,再切换到主分支 git checkout main,再合并分支。

在这里插入图片描述

4.4.6 删除分支 git branch -d 分支名

当分支没有合并用-d删除会报错,这时将-d换成-D

在这里插入图片描述

4.4.7 遇到冲突时的分支合并

如果在两个不同的分支中,对同一个文件进行了不同的修改,Git 就没法干净的合并它们。
此时,我们需要打开这些包含冲突的文件然后手动解决冲突。

在这里插入图片描述

4.4.8 将本地分支推送到关联的远程仓库 git push -u origin 本地分支名称:远程分支名

在这里插入图片描述

必须要将本地仓库关联远程仓库后才能推送分支
第一次推送分支需要带 -u 参数,此后可以不使用-u就能推送代码到远程分支

4.4.9 查看当前本地仓库关联的远程仓库中所有的分支列表 git remote show origin

在这里插入图片描述

4.4.10 把远程分支下载到本地仓库中 git checkout -b 本地分支名 origin/远程分支名

在这里插入图片描述

4.4.10 远程分支最新的代码下载到本地对应的分支中 git pull

必须在当前分支的状态下下载对应的远程分支

4.4.11 删除远程分支 git push origin --delete 远程分支名称

在这里插入图片描述


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值