GitGitHub详解,看这一篇就够了!(持续更新中)

Posted !0 !

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GitGitHub详解,看这一篇就够了!(持续更新中)相关的知识,希望对你有一定的参考价值。

一、Git概述

Git是一个免费的、开源的分布式版本控制系统

1、版本控制

版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。
版本控制是个人开发过渡到团队协作开发的必备工具。

  • 例如:
    在这里插入图片描述

2、集中式版本控制工具(代表:SVN)

集中化的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

  • 优点:

①每个人都可以在一定程度上看到项目中的其他人正在做些什么
②管理员方便管理。管理员可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易

  • 缺点:

①单点故障

  • 示意图
    在这里插入图片描述

3、分布式版本控制工具(代表:Git)

客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。

  • 优点(解决了集中式的问题):

①服务器断网的情况下也可以进行开发
②每个客户端保存的也都是整个完整的项目

  • 示意图
    在这里插入图片描述

4、Git的工作机制

在这里插入图片描述

5、Git和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。
①局域网(GitLab)
②互联网(GitHub、Gitee):GitHub是国外的,Gitee是国内的,Gitee也称为码云,两个网站除了语言之外没什么区别

二、安装

如果没有安装过的小伙伴可以看我之前的一篇教程:
Git最新本版安装步骤(保姆级教程+解释)

三、Git常用命令

命令名称作用
git config --global user.name 用户名设置用户签名
git config --global user.email 邮箱设置用户签名
git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m “日志信息” 文件名提交到本地库
git reflog查看历史记录
git log查看详细历史记录
git reset --hard 版本号版本穿梭

1、设置用户签名

  • 基本语法
git config --global user.name 用户名
git config --global user.email 邮箱

在这里插入图片描述

  • 说明:

① 签名的作用是区分不同操作者身份。Git首次安装必须设置用户签名,否则无法提交代码。
② 这里设置的用户签名和以后登录GitHub的账号没有任何关系,邮箱也可以是无效的。

2、初始化本地库

  • 创建目录并进去
    在这里插入图片描述

  • 基本语法

git init

在这里插入图片描述

  • 效果(如果成功会出现.git文件)
    在这里插入图片描述

3、查看本地库状态

  • 基本语法
git status

在这里插入图片描述

4、添加暂存区

  • 创建一个文件hello.txt
    在这里插入图片描述
  • 编写内容
    在这里插入图片描述
  • 查看状态(git status)
    在这里插入图片描述

1)将工作区的文件添加到暂存区

  • 基本语法
git add 文件名

在这里插入图片描述

2)查看状态(检测到暂存区有新文件)

5、提交本地库

1)将暂存区的文件提交到本地库

  • 基本语法
git commit -m "说明信息" 文件名

在这里插入图片描述

2)查看状态(没有文件需要提交)

在这里插入图片描述

6、修改文件(hello.txt)

在这里插入图片描述

1)查看状态(检查到工作区有文件被修改)

在这里插入图片描述

2)将修改的文件再次添加暂存区

在这里插入图片描述

3)查看状态(工作区的修改添加到了暂存区)

在这里插入图片描述

4)提交到本地库

在这里插入图片描述

5)查看状态(工作区的修改提交到本地库)

在这里插入图片描述

7、历史版本

1)查看历史版本

语法:git reflog
功能:查看版本信息
语法:git log
功能:查看版本详细信息

  • 效果
    在这里插入图片描述

2)版本穿梭

语法:git reset --hard 版本号

  • 效果(版本穿梭的原理就是移动指针)
    在这里插入图片描述

四、分支操作

1、什么是分支

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用

2、分支的优点

同时并行推荐多个功能开发,提高了开发的效率
各个分支在开发过程中,如果有一个分支开发失败,不会对其他分支产生影响

3、分支操作命令

命令名称作用
git branch 分支名创建分支
git branch -v查看分支
git checkout 分支名切换分支
git merge 分支名把指定的分支合并到当前分支上

1)、创建分支

语法:git branch -v

  • 效果
    在这里插入图片描述

2)创建分支

语法:git branch 分支名

  • 效果

在这里插入图片描述

3)修改分支

在这里插入图片描述

4)切换分支

语法:gitcheckout 分支名

  • 效果
    在这里插入图片描述

5)合并分支

语法:git merge 分支名

  • 效果
    在这里插入图片描述

6)合并冲突

  • 产生冲突的表现

如果出现合并冲突,后面会出现MERGING

  • 产生冲突的原因

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替
我们决定使用哪一个。必须人为决定新代码内容。

  • 效果
    在这里插入图片描述
  • 进行vim 操作之后看后面两张图片
    在这里插入图片描述
  • 合并冲突
    在这里插入图片描述
  • 手动合并
    在这里插入图片描述

五、团队协作机制

1、团队内协作

在这里插入图片描述

2 、跨团队协作

在这里插入图片描述

六、GitHub

GitHub 网址:https://github.com/

1、创建远程库

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

2、常见指令

命令名称作用
git remote -v查看当前所有远程地址别名
git remote add 别名 远程地址起别名
git push 别名 分支推送本地分支上的内容到远程仓库
git clone 远程地址将远程仓库的内容克隆到本地
git pull 远程库地址别名 远程分支名将远程仓库对于分支最新内容拉下来后与

1)创建远程库别名

语法:git remote -v
功能:查看当前所有远程地址别名
语法:git remote add 别名 远程地址
功能:给远程库取别名

  • 创建好远程库时,复制地址
    在这里插入图片描述

  • 效果
    在这里插入图片描述

2)推送本地分支到远程库

语法:git push 别名 分支

  • 效果
    在这里插入图片描述
  • 选择在浏览器中的账号登录

在这里插入图片描述

  • 代表登录成功
    在这里插入图片描述
  • GitHub主页上显示文件代表推送成功
    在这里插入图片描述

3)克隆远程库到本地

语法:git clone 远程地址

  • 先复制要克隆的地址
    在这里插入图片描述
  • 我们创建一个Git-lhc文件夹,表示另一个GitHub账号,然后我们cd到Git-lhc目录下准备克隆(注意:克隆时不需要登录账号的,只需要直到下载的地址)

在这里插入图片描述

  • 克隆成功
    在这里插入图片描述

4)拉取远程库内容

语法:git pull 远程库地址别名 远程分支名

以上是关于GitGitHub详解,看这一篇就够了!(持续更新中)的主要内容,如果未能解决你的问题,请参考以下文章

iOS动画详解(学习动画看这一篇就够了)

总结丨Spring 源码学习,看这一篇就够了

图文详解CDC技术,看这一篇就够了!

Elasticsearch入门,看这一篇就够了

Elasticsearch入门,看这一篇就够了

分布式缓存更新策略,看这一篇就够了