深入了解Linux —— git三板斧

版本控制器git

为了我们方便管理不同版本的文件,就有了版本控制器;

所谓的版本控制器,就是能够了解到一个文件的历史记录(修改记录);简单来说就是记录每一次的改动和版本迭代的一个管理系统,同时也方了多人进行协作。

当前应用最广泛的版本控制器就是gitgit可以控制电脑上所有格式的文件。

之前我们在windows下使用git来管理自己的本地文件,并上传至gitee

git简史

​ 同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众多的参与者。绝大多数的Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到2002年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。

到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux内核社区免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux 的缔造者 LinusTorvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。他们对新的系统制订了若干目标:

  • 速度。
  • 简单的设计。
  • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)。
  • 完全分布式。
  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)。

自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。 它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统。

那我们在linux下该如何使用git来管理文件呢?

git三板斧

在使用之前,当然要先进行安装git

复制代码
yum install git

ubanto下使用

复制代码
sudo apt-get update

在进行管理之前,我们要登录gitee官网注册属于自己的账号https://gitee.com

gitee创建仓库并克隆到本地

在注册完成账号之后,我们的账号下是没有任何仓库的;我们要先进行创建仓库,并且将仓库克隆到自己的本地来管理自己的文件。

创建仓库:

在注册完成账号后,来到个人主页,点击右上角头像旁边的+,点击创建仓库,进入创建仓库的界面。

进入到以下界面

这里填写一下仓库信息

仓库名称:为自己的仓库起个名字

仓库介绍:简单介绍自己的仓库

初始化仓库:初始化语言,模版(gitignore),开源许可证

设置模版:选择readme文件(可以编辑该文件,帮助读者快速了解自己的仓库内容。

分支模型:这里选择单分支模型(根据自己需求选择)。

创建完成就进入了以下界面;(可以看到readme文件,我们克隆到本地后可以进行修改)。

创建完成之后,我们将这个仓库,克隆到本地

  1. 点击上图中的克隆/下载,获取当前仓库地址

点击之后,有上述提示,我们只需要在本地执行即可。

复制代码
git clone https://gitee.com/lxb0720/test_linux.git

如上图所示,就成功将仓库克隆到本地了,我们现在就可以看到仓库里的内容了

1. git add

git add,我们在windows下,直接点击,选择要添加的文件即可;

但是在linux下,我们不能像windows那样选择要添加的文件,所以我们要告知我们要上传的文件就行上传。

2. git commit

当我们git add之后,文件只是上传到了暂存区,并没有被管理起来;

我们要执行git commit将暂存区的文件上传到本地仓库,让文件被管理起来。

复制代码
git commit -m "描述信息"

这里推荐加上-m选项,并且加上描述信息,就像写日志那样。

3. git push

通过git commit,我们已经将文件在本地仓库管理起来;但是,这些文件还并没有同步到远端;我们在gitee上还是无法看到这些文件。

git push就是件本地仓库内容同步到远端。

在执行git push之后,需要我们输入gitee的用户名和密码才能上传成功。

4. 首次使用git

如果第一次使用git上传文件,需要我们配置运行用户名和邮箱;在我们点击克隆/下载时,就有提示

直接指向下面指令即可。

复制代码
git config --global user.name '用户名' 
git config --global user.email '邮箱'

git其他操作

git status

对于git status,这个操作的作用就是查看当前的状态;

说简单一点就是看现在进行了哪一步操作。

这里再看git commit后的状态

这里执行git push后,再次来查看

git log

我们使用git来管理我们的文件,那如果我们想要查看我们提交上传的记录,就要用到git log

这里就可以看到我们的提交用户和日期以及提交的日志信息

git pull

在了解这个指令之前,我们先来看git是如何管理并同步到远端的。

看到这里可能有疑惑,本地文件夹和本地仓库不一样吗?

肯定是不一样的,在我们将远端仓库克隆到本地文件夹时,我们该目录下是存在一个.git隐藏文件的

我们看到还存在一个gitigonre文件,那这个文件是干什么的呢?

这里就直接说了

.gitignore文件是在我们上传文件时,需要忽视的文件名后缀。

什么意思呢?

这里.gitinore文件中存在多种文件名的后缀,这里就看.o

我们在编译时可能会产生临时文件.o,但是我们不希望将这个临时文件上传,这时gitignore文件中有.o,在上传的时候就会忽略.o,不会将其上传。

到这里git简单操作就结束了,后期深入学习git之后再来详细探讨git

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2oul0hvapjsws

相关推荐
Lovyk14 分钟前
Linux 正则表达式
linux·运维
Fireworkitte1 小时前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
sword devil9002 小时前
ubuntu常见问题汇总
linux·ubuntu
ac.char2 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos
中科米堆3 小时前
中科米堆CASAIM自动化三维测量设备测量汽车壳体直径尺寸
运维·自动化·汽车·视觉检测
淮北也生橘123 小时前
Linux的ALSA音频框架学习笔记
linux·笔记·学习
xiAo_Ju3 小时前
git hooks配置
git
缘华工业智维4 小时前
CNN 在故障诊断中的应用:原理、案例与优势
大数据·运维·cnn
开航母的李大5 小时前
软件系统运维常见问题
运维·服务器·系统架构·运维开发
mit6.8245 小时前
[Git] 如何拉取 GitHub 仓库的特定子目录
git·github