【Git\GitHub\GitLab学习笔记】版本控制 Git 视频教程全集(62P)| 6 小时从入门到精通(P7-P19)

1、 Git的结构

在这里插入图片描述

2、Git Github Gitee的区别

Git是版本控制工具,Github是代码托管中心,代码托管中心的任务:维护远程库

  • 局域网环境下:GitLab服务器
  • 外网环境下:Github Gitee

3、本地库和远程库的交互方式

两种场景:
1、团队内部协作
2、跨团队协作

3.1、团队内部协作

在这里插入图片描述

3.2、跨团队协作

在这里插入图片描述

4、Git命令行操作

在这里插入图片描述

4.1 本地库操作
4.1.1 本地库初始化
  • 命令:
git add
git init
  • 效果:
    在这里插入图片描述
  • 注意事项:.git目录中存放的是本地库相关的子目录和文件,不要删除,也不要随意修改!
4.1.2 设置签名
  • 用户名:tom
  • Email地址:[email protected]
  • 作用:区分不同开发人员的身份
  • 辨析:这里设置的前面和登录远程库(代码托管中心)的账号和密码没有任何关系。
  • 命令:
    • 项目级别/仓库级别:仅在当前本地库范围内生效
git config user.name tom_pro #设置用户名
git config user.email [email protected] #设置邮箱
    • 系统用户级别:登录当前操作系统的用户范围
git config --global user.name tom_glb
git config --global user.email [email protected]
# 项目级别配置信息保存的位置:./.git/config
# 系统级别配置信息保存的位置:~/.gitconfig
cat ~/.gitconfig #查看配置文件内容
# 进入家目录
cd ~

配置信息如下:
【项目级别配置信息】
在这里插入图片描述
【系统级别配置信息】
在这里插入图片描述

    • 级别优先级
      • 就近原则:项目级别优先于系统级别,二者都有时采用项目级别的前面
      • 如果只有系统用户级别的签名,就以系统用户级别的签名为准
      • 二者都没有不允许
        在这里插入图片描述
4.1.3 添加提交以及查看状态操作
# 查看仓库状态
git status

在这里插入图片描述

#create/copy files and use "git add" to track
#意思是:使用git add命令去“跟踪/管理”create/copy 的文件
vim good.txt #编辑并生成一个good.txt文件
git status #再次查看 创建新文件之后的仓库状态
git add good.txt
git rm --cached good.txt #从暂存区将文件删除,但是不会删除工作区的文件
git commit good.txt #将文件从暂存区 提交到 本地库

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

set nu #显示行号(vi编辑器)

在这里插入图片描述
可以编辑提交的信息(相当于注释,提示本次操作提交文件的目的,做了哪些变动,方便后期查看)
在这里插入图片描述

git commit good.txt  #将文件

在这里插入图片描述
暂存区没有什么要提交的,本地也没有新建文件
在这里插入图片描述
当修改已经提交到仓库的文件的时候,使用git status查看当前状态
在这里插入图片描述
缓存区显示 update操作,特别注意上图中的最后一行:use “git add” and/or “git commit -a”,对于一个从未进行追踪的新文件,使用git add对文件进行追踪操作,对于一个已经追踪过的文件,当文件有更新内容的时候,可以使用git add 将其添加到缓冲区,也可以直接使用git commit 进行提交操作。

4.1.4 git基本操作总结
  • 状态查看操作:
git status
#作用:查看工作区、暂存区状态
  • 添加操作
git add [filename]
# 作用:将工作区的“新建/修改”添加到暂存区
# eg:
git add good.txt
  • 提交操作
git commit -m "commit message" [filename]
# 作用:将暂存区的内容 提交至 本地库
  • 删除缓存区文件
git rm --cached good.txt #从暂存区将文件删除,但是不会删除工作区的文件
  • 查看历史操作
git log
# 详细显示
git log --pretty=oneline
# 以好看的格式显示 每条记录占一行
git log oneline
# 更简洁的一种方式,缩短显示的哈希值

【git log效果】
在这里插入图片描述
git log多屏显示控制方式:

  • 空格向下翻页
  • b向上翻页
  • q退出
    git log --pretty=oneline在这里插入图片描述
    git log --oneline:该命令只显示历史版本,不显示在HEAD指针之后的版本
    在这里插入图片描述
    git reflog
    在这里插入图片描述
    HEAD@{移动到当前版本需要的步数}
  • 删除文件操作并找回
    前进后退版本的本质:
    进行版本管理的时候,有一个HEAD指针,通过移动HEAD指针来执行版本的前进、后退。
    版本前进后退实操:在这里插入图片描述
    回退之后的效果图:
    在这里插入图片描述

指针前进/后退——基于索引值操作

git reset --hard [哈希值(索引值)]

后退:使用~或^符号

使用^ 表示回退一步,n个表示回退n步
git reset --hard HEAD
使用~符号 表示回退n步
git reset --hard HEAD~n

【reset命令的三个参数对比】

soft 参数

  • 仅仅在本地库移动HEAD指针
    在这里插入图片描述
    差暂存区内容,提示有变化
    在这里插入图片描述

mixed参数

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

hard参数

  • 在本地库移动HEAD指针
  • 重置暂存区
  • 重置工作区
git reset --hard HEAD

在这里插入图片描述

在这里插入图片描述

4.2 远程库操作

课程传送门

猜你喜欢

转载自blog.csdn.net/kz_java/article/details/114575877
今日推荐