当前位置: 首页 > news >正文

Git原理及使用

1、Git初识

Git是一种版本控制器:

对于同一份文件,做多次改动,Git会记录每一次改动前后的文件。

通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业。

注意:

Git其实只能跟踪⽂本⽂件的改动,⽐如TXT⽂件,⽹⻚,所有的程序代码等等。版本控制系统可以告诉你每次的改动,⽐如在第5⾏加了⼀个单词“Linux”,在第8⾏删了⼀个单词“Windows”。

不能跟踪二进制文件的改动内容,最多告诉你二进制文件改动前后的大小。

2、Git安装(sudo yum install -y git)

Linux-Centos:

使用:git --version;查看是否有Git,或者查看Git的版本

安装:sudo yum install -y git;

3、Git的基本操作

3、1创建Git本地仓库(git init)

仓库是进⾏版本控制的⼀个⽂件⽬录。

我们要想对⽂件进⾏版本控制,就必须先创建⼀个仓库出来。

创建本地Git仓库的命令是:git init

要注意的是,该命令要在目录文件下进行

[zy@hcss-ecs-4716 gityum2]$ pwd
/home/zy/gitlab/gityum2
[zy@hcss-ecs-4716 gityum2]$ git init
Initialized empty Git repository in /home/zy/gitlab/gityum2/.git/
[zy@hcss-ecs-4716 gityum2]$ ll -a
total 12
drwxrwxr-x 3 zy zy 4096 Mar 22 12:32 .
drwxrwxr-x 4 zy zy 4096 Mar 22 12:31 ..
drwxrwxr-x 7 zy zy 4096 Mar 22 12:32 .git

此时该目录下就出现了一个.git的隐藏目录文件

注意:.git目录是Git来跟踪管理仓库的,不要手动修改这个目录里面的文件,不然该乱了,Git仓库就被破坏了。

对于.git仓库的细节,可以看看:

zy@139-159-150-152:~/gitcode$ tree .git/
.git/
├── branches
├── config
├── description
├── HEAD
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── fsmonitor-watchman.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── pre-merge-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ ├── pre-receive.sample
│ └── update.sample
├── info
│ └── exclude
├── objects
│ ├── info
│ └── pack
└── refs
├── heads
└── tags
9 directories, 16 files

具体里面的内容是什么先不做了解。

3、2配置Git(git config [--global] user.name/email)

首先要设置你的用户名称email地址

使用 git config [--global] user.name/user.email "名称/地址"

git config [--global] user.name "名称"
git config [--global] user.email "地址"

其中--global是一个可选项,如果带上--global代表这台机器上的所有仓库都会使用这个配置

如果希望在不同仓库中使用不同的name和email,就不要带--global。

[zy@hcss-ecs-4716 gityum2]$ git config --global user.name xxx
[zy@hcss-ecs-4716 gityum2]$ git config --global user.email "212123123@qq.com"

查看是否配置成功:git config -l

[zy@hcss-ecs-4716 gityum2]$ git config -l
user.name=xxx
user.email=213123212@qq.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true

这样就显示配置成功了。

删除对应的配置命令:

git config [--global] --unset user.name/user.email

git config [--global] --unset user.name
git config [--global] --unset user.email

对于gloabal,如果配置的时候用了global,删除的时候也要对应使用。

3、3认识工作区、暂存区、版本库

工作区:是在本地电脑上你要写代码或⽂件的⽬录

暂存区:英⽂叫stageindex。⼀般存放在 .git ⽬录下的index⽂件(.git/index)中,我们把暂存区有时也叫作索引(index)

版本库:又叫仓库。工作区上有一个隐藏目录.git,它不算工作区,而是Git的版本库。这个版本库内的所有文件都可以被Git管理起来,每个文件的修改(新增、修改、删除),Git都能跟踪

图中左侧为⼯作区,右侧为版本库。Git的版本库⾥存了很多东西,其中最重要的就是暂存区。

在创建Git版本库时

http://www.lryc.cn/news/323638.html

相关文章:

  • Milvus 向量数据库介绍及使用
  • STP环路避免实验(华为)
  • 二、SpringBoot3 配置文件
  • 二、阅读器的开发(初始)-- 2、阅读器开发
  • 【QT入门】 Qt自定义信号后跨线程发送信号
  • 51单片机学习笔记7 串转并操作方法
  • 微服务cloud--抱团取暖吗 netflix很多停更了
  • 牛客笔试|美团2024春招第一场【测试方向】
  • Docker搭建LNMP环境实战(一):前言
  • SCI一区 | Matlab实现PSO-TCN-BiGRU-Attention粒子群算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测
  • 界面控件DevExpress ASP.NET Ribbon组件 - 完美复刻Office 365体验!
  • vue2【详解】mixins —— 抽离公共逻辑
  • ArrayList的常用方法
  • ES-Hadoop:将Elasticsearch与Hadoop无缝集成的开源工具
  • 质量模型、软件测试流程和测试用例
  • 集简云新增“文本语音转换”功能,实现智能语音交互
  • 图像处理领域专业术语
  • Microsoft Edge 中的 Internet Explorer 模式解决ie禁止跳转到edge问题
  • 理清大数据技术与架构
  • 小白DB补全计划Day2-LeetCode:SQL基本操作selectJOIN
  • 【Node.js从基础到高级运用】十五、单元测试与集成测试
  • 哈工大sse C语言 困难
  • 力扣● 503.下一个更大元素II ● 42. 接雨水
  • Java中的包装类
  • 实时数仓的另一种构建方法starRocks的物化视图
  • 【PHP】通过PHP实时监控Apache、MySQL服务运行状态
  • ETL的全量和增量模式
  • 常用的IDE推荐
  • 6、kubenetes 卷
  • 前端学习笔记 | Node.js