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

第一部分:git基本操作

目录

1、git初识

1.1、存在的问题

1.2、版本控制器

1.3、git安装

1.3.1、CentOS平台

1.3.2、ubuntu平台

2、git基本操作

2.1、创建仓库

2.2、配置git

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

4、基本操作

4.1、场景一

4.2、场景二

4.3、修改文件

5、版本回退

6、撤销修改

6.1、情况一

6.2、情况二

6.3、情况三

7、删除文件


1、git初识

1.1、存在的问题

在⼯作或学习时,经常会遇到这样的情况:

我们在编写各种⽂档时,为了防⽌⽂档丢失,更改失误,失误后能恢复到原来的版本,不得不复制出⼀个副本。⽐如:

“报告-v1”

“报告-v2”

“报告-v3”

“报告-确定版”

“报告-最终版”

 .................

每个版本有各⾃的内容,但最终会只有⼀份报告需要被我们使⽤。

但在此之前的⼯作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的⽂件就越来越 多,⽂件多不是问题,问题是:随着版本数量的不断增多,我们就不记得这些版本各⾃都是修改了什么 ,⽂档如此,我们写的项⽬代码,也是存在这个问题的。

随着版本的增多,维护好版本是很有挑战的一件事。

1.2、版本控制器

为了能够更⽅便我们管理这些不同版本的⽂件,便有了版本控制器。所谓的版本控制器,就是能让我们能了解到⼀个⽂件的历史,以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业。

⽬前最主流的版本控制器就是Git。Git可以控制电脑上所有格式的⽂件,例如doc、excel、dwg、 dgn、rvt等等。对于我们开发⼈员来说,Git最重要的就是可以帮助我们管理软件开发项⽬中的源代码⽂件。

注意:所有的版本控制系统,Git也不例外,其实只能跟踪⽂本⽂件的改动,⽐如TXT⽂件,网页,所有的程序代码等等。版本控制系统可以告诉你每次的改动,比如在第5⾏加了⼀个单词 “Linux”,在第8⾏删了⼀个单词“Windows”。 而图⽚、视频这些⼆进制⽂件,虽然也能由版本控制系统管理,但没法跟踪⽂件的变化,只能把⼆进制⽂件每次改动串起来,也就是只知道图⽚从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。

1.3、git安装

Git 是开放源代码的代码托管⼯具,最早是在Linux下开发的。开始也只能应⽤于Linux平台,后⾯慢慢的被移植到windows下,现在,Git可以在Linux、Unix、Mac和Windows这⼏⼤平台上正常运⾏了。

1.3.1、CentOS平台

安装git,以centos7.6为例:

查看是否安装了Git,以及如果安装了的话,Git的版本:

git --version

因为我是安装过的,所以结果为:

所以我先把安装过的git给卸载掉:

sudo yum remove git -y

卸载完成后,再使用git --version的时候就会出现:

接下来,我们开始下载git:

sudo yum install git -y

下载完成后,可以使用git --version来查看git是否被下载完成。

1.3.2、ubuntu平台

安装git,以ubuntu20.04为例:

sudo apt-get install git -y

卸载git:

sudo apt-get remove git -y

2、git基本操作

2.1、创建仓库

要提前说的是,仓库是进⾏版本控制的⼀个⽂件⽬录。我们要想对⽂件进⾏版本控制,就必须先创建⼀个仓库出来,这个仓库就是一个目录。

创建⼀个Git本地仓库对应的命令为:

git init

注意:命令要在⽂件⽬录下执⾏,也就是说首先要创建一个目录,然后在该目录里面使用该命令。

例如:

使用ls -al,我们发现,在当前目录下多了一个隐藏文件:

当前⽬录下多了⼀个 .git 的隐藏⽂件,.git⽬录是Git来跟踪管理仓库的,不要⼿动修改这个⽬录⾥⾯的⽂件,不然改乱了,就把Git仓库给破坏了。

我们可以使用如下命令,查看.git目录:

tree ./.git

如图所示:

2.2、配置git

当安装Git后⾸先要做的事情是设置你的用户名称e-mail地址,这是⾮常重要的。配置命令为:

git config [--global] user.name "Your Name"   
git config [--global] user.email "email@example.com"

其中--global 是⼀个可选项。如果使⽤了该选项,表⽰这台机器上所有的Git仓库都会使⽤这个配置(一台机器上是可以创建多个仓库的)。如果你希望在不同仓库中使⽤不同的name 或 e-mail ,可以不要该选项。注意的是,执⾏命令时必须要在仓库⾥。

查看配置命令为:

 git config -l

删除对应的配置命令为:

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

例如:

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

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

暂存区:英⽂叫stage或index。⼀般存放.git目录下的index文件中,我们把暂存区有时也叫作索引(index)。

版本库:⼜名仓库,英⽂名repository 。⼯作区有⼀个隐藏⽬录 .git ,它不算⼯作区,⽽是Git的版本库。这个版本库⾥⾯的所有⽂件都可以被Git管理起来,每个⽂件的修改、删除,Git 都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

下⾯这个图展⽰了⼯作区、暂存区和版本库之间的关系:

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

在创建Git版本库时,Git会为我们⾃动创建⼀个唯⼀的master分⽀,以及指向master的⼀个指针叫HEAD。(分⽀和HEAD的概念后⾯再说)

当对⼯作区修改或新增或删除的⽂件执⾏ git add 命令时,暂存区⽬录树的⽂件索引会被更新。

当执⾏提交操作 git commit 时,master分⽀会做相应的更新,可以简单理解为暂存区的⽬录树才会被真正写到版本库中。

对象库:英文名objects。修改或新增或删除工作区的内容,然后经过git add后会写入对象库的一个新的git对象中。对象库中才是存放的实实在在的内容,暂存区和master都是存放的索引。

由上

相关文章:

  • Java基础第四章、面向对象
  • 剖析经典二维动画的制作流程,汲取经验
  • C++入门(下)
  • 【网络原理】TCP提升效率机制(二):流量控制和拥塞控制
  • Python 快速获取Excel工作表名称
  • PyTorch与CUDA的关系
  • 脚本批量启动Node服务器
  • SEO长尾关键词布局实战
  • 【Java面试笔记:进阶】19.Java并发包提供了哪些并发工具类?
  • 手写Java线程池与定时器:彻底掌握多线程任务调度
  • 浏览器f12可以搜索接口的入参 和返回内容
  • 新手如何学习人工智能
  • 大模型助力嘉兴妇幼:数据分类分级的智能化飞跃
  • 5.6 Microsoft Semantic Kernel:专注于将LLM集成到现有应用中的框架
  • 25%甘油(灭菌)保存菌液以及10%甘油(普通)保存蛋白的原理及操作-实验操作系列-010
  • MyBatis-Plus 自动填充与更新策略知识清单
  • 反爬策略应对指南:淘宝 API 商品数据采集的 IP 代理与请求伪装技术
  • SkyWalking 安装与使用详细总结
  • Zynq 7000的PS侧DDR3地址范围及相关信息
  • 关于开源大模型(如 LLaMA、InternLM、Baichuan、DeepSeek、Qwen 等)二次开发或训练经验的关键点和概述
  • 特朗普签署行政命令推动深海采矿,被指无视国际规则,引发环境担忧
  • 涉军民事案件类型日益增多,最高法新规明晰管辖争议问题
  • 岭南非遗大IP来上海了,舞剧《英歌》在文化广场连演两场
  • 国防部:“台独”武装摆练纯属搞心理安慰,怎么演都是溃败的死局
  • 鼓励每位学生为优秀定义,上海奉贤这所学校有何特色?
  • A股三大股指集体高开,黄金股大幅回调