【Git】Git介绍-Git基本使用-Git原理-GitHub基本使用-工作区-暂存区-本地库-分支管理-解决冲突

1. Git 简介

1.1Git 简史

在这里插入图片描述

1.2Git 官网和Logo

官网地址:https://git-scm.com/

1.3Git 的优势

  • 大部分操作在本地完成,不需要联网
  • 完整性保证
  • 尽可能添加数据而不是删除或修改数据
  • 分支操作非常快捷流畅
  • 与Linux 命令全面兼容

1.4Git 安装

https://git-scm.com/downloads
傻瓜式

5.5Git 结构

在这里插入图片描述

1.6 Git 和代码托管中心

代码托管中心的任务:维护远程库

  • 局域网环境下
  1. GitLab 服务器
  • 外网环境下
  1. GitHub
  2. 码云

1.7 本地库和远程库

团队内部协作

在这里插入图片描述

跨团队协作

在这里插入图片描述

2. Git 命令行操作

2.1本地库初始化

2.1.1 命令

git init

2.1.2 效果

目录下创建一个 .git 文件夹
在这里插入图片描述
在这里插入图片描述

2.1.3 注意

.git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改。

2.2 设置签名

2.2.1 形式

用户名:tom
Email 地址:[email protected]

2.2.2 作用

区分不同开发人员的身份

2.2.3 辨析

这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系。

2.2.4 命令

2.2.4.1 项目级别/仓库级别

仅在当前本地库范围内有效

git config user.name tom_pro
git config user.email goodMorning_pro@atguigu.com

信息保存位置:./.git/config 文件
在这里插入图片描述

2.2.4.2 系统用户级别 (一般用这个就行了)

登录当前操作系统的用户范围

git config --global user.name tom_glb
git config --global user.email goodMorning_pro@atguigu.com

信息保存位置:~/.gitconfig 文件
在这里插入图片描述

2.2.4.3 级别优先级

  • 就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
  • 如果只有系统用户级别的签名,就以系统用户级别的签名为准
  • 二者都没有不允许

2.3基本操作(重点)

###2.3.1 状态查看

git status

查看工作区、暂存区状态

2.3.2 添加

git add [file name]

将工作区的“新建/修改”添加到暂存区

2.3.3 提交

git commit -m "commit message" [file name]

将暂存区的内容提交到本地库

2.3.4 查看历史记录

git log

在这里插入图片描述

多屏显示控制方式:

  • 空格向下翻页
  • b 向上翻页
  • q 退出
git log --pretty=oneline

在这里插入图片描述

git log --oneline

在这里插入图片描述

git reflog

在这里插入图片描述
HEAD@{移动到当前版本需要多少步}

2.3.5 前进后退

基于索引值操作[推荐]

git reset --hard [局部索引值]
git reset --hard a6ace91

使用^符号:只能后退

git reset --hard HEAD^
  • 注:一个^表示后退一步,n 个表示后退n 步

使用~符号:只能后退

git reset --hard HEAD~n
  • 注:表示后退n 步

2.3.6 reset 命令的三个参数对比

  • –soft 参数
    仅仅在本地库移动HEAD 指针
    在这里插入图片描述

  • –mixed 参数
    在本地库移动HEAD 指针
    重置暂存区
    在这里插入图片描述

  • –hard 参数
    在本地库移动HEAD 指针
    重置暂存区
    重置工作区

2.3.7 删除文件并找回

  • 前提:删除前,文件存在时的状态提交到了本地库。
  • 操作:git reset --hard [指针位置]
  • 删除操作已经提交到本地库:指针位置指向历史记录
  • 删除操作尚未提交到本地库:指针位置使用HEAD

2.3.8 比较文件差异

  • git diff [文件名]
    将工作区中的文件和暂存区进行比较
  • git diff [本地库中历史版本] [文件名]
    将工作区中的文件和本地库历史记录比较
  • 不带文件名比较多个文件

2.4分支管理

2.4.1 什么是分支?

在版本控制过程中,使用多条线同时推进多个任务

在这里插入图片描述

2.4.2 分支的好处?

  • 同时并行推进多个功能开发,提高开发效率
  • 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

2.4.3 分支操作

创建分支

git branch [分支名]

查看分支

git branch -v

切换分支

git checkout [分支名]

合并分支

  • 第一步:切换到接受修改的分支(被合并,增加新内容)上
git checkout [被合并分支名]
  • 第二步:执行merge 命令
git merge [有新内容分支名]

解决冲突

  • 冲突的表现
    在这里插入图片描述

  • 冲突的解决

  1. 第一步:编辑文件,删除特殊符号
  2. 第二步:把文件修改到满意的程度,保存退出
  3. 第三步:git add [文件名]
  4. 第四步:git commit -m "日志信息"
  • 注意:此时commit 一定不能带具体文件名

3 GitHub

3.1账号信息

官网注册账户

3.2创建远程库

官网一键创建

3.3创建远程库地址别名

在这里插入图片描述

git remote -v
git remote add origin https://github.com/yk2012/Promise_demo.git   

在这里插入图片描述
取回+推送

3.4推送

git push origin master 

然后登录GitHub账号即可
在这里插入图片描述
在这里插入图片描述

3.5 克隆

命令

git origin [远程地址]

效果

  1. 完整的把远程库下载到本地
  2. 创建origin 远程地址别名
  3. 初始化本地库

猜你喜欢

转载自blog.csdn.net/weixin_44972008/article/details/113742386