02_Git

Git

git的特点

  • 分布式
    • 比如说:同事A、同事B、同事C都能对远程仓库进行操作,就是分布式
  • 离线可用
    • SVN(集中式版本控制工具)如果网络中断,则没办法提交代码
    • Git(分布式版本控制工具)如果网络中断,可以提交代码到本地仓库,没办法推进代码
  • 可以回退

在这里插入图片描述

在这里插入图片描述


Git的核心流程

在这里插入图片描述

  • 远程仓库:类似于网络上的存储空间,可以存储代码
    • 比如:githubgiteegitlab、自己搭建服务器
  • 本地仓库:远程仓库在本地的一个路径,没办法操作它
  • 缓冲区:没办法直接操作
  • 工作空间:可以直接操作

Git的命令

clone指令

  • 只有第一次拉去远程仓库到本地仓库用clone指令,之后就用pull指令
# 下载远程仓库的内容,并且在本地创建一个和远程仓库名同名的文件夹
eg:
git clone https://gitee.com/test.git

# 下载到指定的文件夹中。文件夹需要是个空目录
git clone https://gitee.com/test.git dirName

status指令

这个命令可以帮助我们查看工作区和缓冲区中的变化

eg:
在这里插入图片描述

  • 红颜色:指工作区中的变化
  • 绿颜色:指缓冲区中的变化

add指令

  • 这个命令可以帮助我们把工作区中的变化提交到缓冲区
  • add的时候,要指定文件名
  • 常见提交方式有:
# 有以下的三种提交方式

# 文件的名字
git add fileName


# 文件的类型,通配符添加
# 指将所有的java文件添加到缓冲区
git add *.java


# 所有文件
git add .

eg:
在这里插入图片描述

commit指令

  • 这个命令可以帮助我们把git仓库中缓冲区中的内容提交到本地仓库
  • 不能将指定文件进行commit操作

第一次提交的时候要设置用户名和邮箱

  • 执行指令去设置
git config --global user.email "forExample@xx.com"

git config --global user.name "xxx"

eg:
在这里插入图片描述
上图中的738b48f是一个版本号

注意事项

  • 这一步会产生一个文件的版本号
  • 如果是第一次commit,需要设置用户名和邮件地址
  • 只会把缓冲区中的变化提交到本地仓库,不会把工作区中的变化提交到本地仓库
  • commit的时候需要指定提交的信息,提交的信息一般要去设置模板

commit的格式

# 提交
git commit -m "msg"
## msg:msg信息一般要有统一的格式 例如:描述信息 (issue号)
# 1.描述信息 (issue号)
# 2.(issue号) 描述信息

# 尽量做到,见到描述信息可以知道这次提交是干什么的。
# 不要写什么 1 abc 

push指令

  • push这个命令可以帮助我们把本地仓库中的所有变化推送到远程仓库
  • 不能指定文件进行push操作
  • push指令的第一步一般是pull指令
  • 只有当本地仓库中的版本领先于远程仓库的时候,才可以进行push操作

eg:
在这里插入图片描述

pull指令

  • 会拉取远程仓库中的所有的变化到本地,并且会显示出版本号
  • 当本地仓库中的版本落后于远程仓库的时候,就要pull

eg:
在这里插入图片描述

log指令

查看仓库中的所有的版本信息

eg:
在这里插入图片描述


Git中处理冲突

在这里插入图片描述
总结

  • 先push的人不处理冲突,后push的人要处理 冲突
  • 和组员一起开发的时候,尽量不要开发同一个文件,很容易产生冲突
  • push之前最好先pull一下,不然可能会push失败
    • 早上上班之后,第一件事情,拉取最新的代码(pull)
    • 晚上下班之前,最后一件事情,把最新的本地代码推送上去(push)。代码一定要能编译通过

协同合作

不管是 开源的仓库,还是私有的仓库,都是 只有仓库中的成员才能去修改仓库中的代码。

  • 开源:所有人都可以访问到
  • 私有:只有仓库指定的成员才能看到

Git中回退的措施

在这里插入图片描述

  • git diff 文件名

    • 可以查看文件发生了哪些变化
    • 在这里插入图片描述
  • git checkout 文件名

    • 将在工作区中文件的变化丢掉
    • 在这里插入图片描述
  • git reset 文件名

    • 把缓冲区中的变化,回退到工作区。注意:git reset不会改变文件中的内容
    • 在这里插入图片描述
  • git reset --hard 版本号

    • 回退到之前的版本号
    • 在这里插入图片描述
  • git reflog

    • 查看之前的版本号
    • 在这里插入图片描述

忽略文件

  • 可以在Git仓库的根目录下添加一个.gitignore 这个名字的文件,可以在这个文件中声明哪些文件不被git追踪版本信息。
  • 一旦一个文件已经被追踪并且提交到远程仓库中去了,那么再在.gitignore 这个文件中去忽略它的变化,是无效的

相关推荐

  1. <span style='color:red;'>02</span>_<span style='color:red;'>Git</span>

    02_Git

    2024-03-12 06:04:02      39 阅读
  2. <span style='color:red;'>01</span>-<span style='color:red;'>GIt</span>

    01-GIt

    2024-03-12 06:04:02      27 阅读
  3. Git012-Git 仓库初始化

    2024-03-12 06:04:02       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-12 06:04:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-12 06:04:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-12 06:04:02       82 阅读
  4. Python语言-面向对象

    2024-03-12 06:04:02       91 阅读

热门阅读

  1. ruoyi-nbcio-plus的Vue3前端一些插件使用介绍(一)

    2024-03-12 06:04:02       48 阅读
  2. 代码随想录day36:动态规划part4,背包问题

    2024-03-12 06:04:02       49 阅读
  3. 数据结构的学习

    2024-03-12 06:04:02       43 阅读
  4. Spring MVC ServletCookieValueMethodArgumentResolver原理解析

    2024-03-12 06:04:02       46 阅读
  5. 常见doc命令使用

    2024-03-12 06:04:02       51 阅读
  6. CDA-LevelⅡ【考题整理-带答案】

    2024-03-12 06:04:02       50 阅读
  7. 【其他】清风眼中的《妙手仁心》

    2024-03-12 06:04:02       44 阅读
  8. Markdown语法手册(基础使用)

    2024-03-12 06:04:02       41 阅读