Git && GIthub

本文深入解析Git版本控制系统,涵盖其基本概念、核心优势、本地及远程操作、分支管理及与GitHub集成,适合初学者快速掌握Git使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Git 的基本介绍

(1)Git

​ Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件

(2)版本控制应具备的功能
  • 协同修改

  • 数据备份

  • 版本管理(不保存重复数据)

  • 权限控制

  • 历史记录

  • 分支管理

(3)版本控制简介

​ 集中式版本控制工具 SVN (存在单点故障的风险)

​ 分布式版本控制工具Git

(4)Git的优势

​ 大部分在本地完成,不需要联网

​ 完整性保证

​ 尽可能添加数据而不是删除或修改数据

​ 分支操作非常的流畅快捷

​ 与Linux命令全面兼容

2.Git 的本地结构

在这里插入图片描述

3.Git和代码托管中心,维护远程库

团队内成员参与开发流程
在这里插入图片描述
团队外成员参与开发流程

在这里插入图片描述

4.Git 常用命令行操作简介

(1)初始化

命令:git init

效果:创建.git目录

(2)签名

命令: git config user.name [Username]

git config user.email [Email]

git config --global user.name [Username]

git config --global user.email [Email]

效果:设置局部/全局用户签名

​ 这里的用户名和邮箱与外部库(如Github)的用户名和邮箱没有任何关系

​ 局部签名是写在.git目录下的config文件中的

(3)查看状态

命令: git status

效果:查看当前状态

(4)add

命令: git add [filename]

效果:添加文件名为[filename]的文件到暂存区

(5)rm

命令 :git rm --cached [filename]

效果:将文件名为[filename]的文件从暂存区中删除

(6)commit

命令:git commit -m

效果:commit到本地库

(7)查看历史记录

命令: git log

git log --pretty=oneline

git log --oneline

git reflog

效果:查看历史记录

​ reflog哈希值位数小

(8)前进后退方法

命令:git reset --hard [索引值,reflog即可]

git reset --hard HEAD^^^^^^^

git reset --hard HEAD~[num]

效果:前进或后退到某一版本

​ ^和~只能后退不能前进

​ ^个数表示后退的版本数

​ ~后边跟数字表示后退的版本数

参数 --hard 重置本地库、暂存区、工作区

​ --mixed重置本地库 、暂存区

​ --soft 仅重置本地库

(9)比较

命令:git diff [文件名]

效果:将工作区文件与暂存区文件比较

命令:git diff [本地库中历史版本] [文件名]

效果:将工作区与本地库中的历史版本比较

(10)分支

命令:git branch -v

效果:查看分支

命令 : git checkout [分支名]

效果:切换分支

命令:git branch [分支名]

效果:创建分支

命令: git merge [分支名]

效果:当前分支合并分支名指定分支

5.Git基本原理简介

Git 采用的是SHA-1加密算法

基于指针移动,保证速度

明文 —>哈希算法—>密文

哈希算法的特点

​ 不管输入的数据量有多大看,输入同一哈希算法,得到的加密长度相同

​ 哈希算法确定,输入数据确定,输出保持不变

​ 哈希算法确定,输入数据有变化,输出数据一定有变化,而且通常变化很大

​ 哈希算法不可逆

6.Github

1.基本操作简介(Https)

在本地: git remote add [origin] [地址] 用[origin] 替代地址

克隆: git clone [地址] 完整把远程库下载到本地。创建origin远程地址别名。初始化本地库。

push : git push [origin] 将本地库推送至远程库中

拉取 git fetch [origin] master 没有改变本地文件

git checkout origin/master

git merge origin/master

pull: pull = fetch + merge

2.SSH免密登录

首先进入家目录

cd ~

删除以前创建的ssh

rm -r .ssh/

输入

ssh-keygen -t rsa -C [邮箱]

输入此命令后后边会有一些确认选项,直接回车即可

此命令会生成.ssh目录

进入此目录

cd .ssh

里边会有一个id_rsa.pub 文件

cat id_rsa.pub

将文件内容复制,登陆GitHub账号,在GitHub网页Personal settings中的左侧栏SSH and GPG keys选项中,选择new SSHkey,在Key一栏中粘贴内容 ,Title 随便写

ssh配置完成

接下来,可以复制ssh地址,用以下命令

git remote add [origin_ssh] [ssh地址]

就可以使用**git push [origin_ssh]**进行push操作了,不需要输入用户名和密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值