【Linux】分布式版本控制工具-Git

文章目录

  1. 历史背景

  1. 版本控制

  1. 代码托管平台

  1. linux上使用git

一、历史背景

git的发明者linus

大家可能多多少少都用过 Github, Gitee 等代码托管平台。而它们的名字中就带有 git 的字段。

实际上这些平台都是可以通过 git 来进行管理的,而 git 本身是一个开源的、免费的 分布式版本控制工具 ,通过 git 可以快速高效地处理代码的合并,项目的管理等功能。

二、版本控制

Git 是一个分布式版本控制工具

1、何为版本控制

版本控制是一种记录文件内容变化,以便查阅指定版本修订情况的控制系统。

版本控制最大的优点就是记录了以往的版本,可以随时查阅版本记录,从而让用户能查看历史版本。

举个例子,论文我们应该都写过。而论文从开始写,到交上去,可能会修正很多遍。

而版本,就是每次的论文样式,每一个文件都是一个版本,都记录着之前的文件。

而版本控制就是将这些版本记录下来,方便用户查阅之前的版本

而由于版本控制,当进行团队协作时也更加方便,通过版本控制就可以更加清晰的了解各版本的变化,从而做出升级和改进。

2、版本控制工具

版本控制工具分为两类,集中式版本控制工具和分布式版本控制工具。

① 集中式版本控制工具

集中式版本控制有一个特点就是 只有单一的集中管理的服务器 。在服务器中,保存着所有文件的修订版本。

在协同工作时,小组成员都会通过客户端链接到服务器,通过服务器来完成提交更新。

这种版本控制可以通过管理员来掌握小组成员的动作情况,管理权限。管理成本低,管理模式集中。

但是这种版本控制有一个致命的缺陷:服务器发生故障,小组成员就无法协同工作

② 分布式版本控制工具

分布式版本控制工具通常有客户端和服务端。

客户端提取的不是这些文件版本,而是把代码仓库完整的通过镜像的方式克隆到本地,就是 本地库 。

这种机制也让仓库的控制性更加好。如果一处协同工作的文件故障了,那么可以通过其他客户端的本地库进行恢复。

而分布式版本控制工具也解决了集中式版本工具的弊病

  • 当服务器崩掉时,也可以进行开发,因为存在本地库,通过本地库就可以进行版本控制

  • 在小组成员的客户端上保存着完整的项目备份,提高了安全性

而这种控制方式也提高了使用者的舒适度

  • 如果用户不想要把自己的项目上传到远端,也可以将项目上传到本地,进行本地式的管理。

  • 对于协同开发的用户,更是可以将项目上传至服务器,让服务器进行数据管理,避免数据丢失,更加安全。

三、代码托管平台

常见的代码托管平台有github,gitee等。
这些代码托管平台的特点就是 继承了Git 代码仓库托管的功能,并且增加了许多个性化的功能,如代码片段分享,订阅等特色功能 。
除了通过Git 进行版本的控制,用户更能在网站上直接进行操作,让用户在网站上也可以完成对版本的修改。
说白了就像是抽象出了一块独立空间,更贴近于用户体验。增加了个性化功能,让代码托管平台不仅能版本控制,更作为一个协作的平台,变成一个更大的交流圣地。
程序员可以在Github 或Gitee 上进行交流,且在上面也有着许多开源项目,让更多人见识到开源的魅力。
而Github 和Gitee 的区别:
Gitee 是国内的,Github 是国外的
Github 用户基数较多,开源项目更加丰富
Gitee 的用户大多是国人,且是中文界面更容易让人接受
Github 的服务器在国外,如果不使用加速器的话访问速度相对较慢,而Gitee 则由于服务器在国内的原因,访问速度较快

四、Linux上使用git

前面讲了这么多,我们总算对 git 有了一些认识,那么接下来我们就在 LInux 上进行操作。

先用 git --version 检查一下 LIinux 下有没有安装 git :

显然是安装了的,如果没有安装的可以使用安装:

sudo yum install -y git

1、创建仓库

紧接着到Gitee 或Github 上创建一个仓库,我使用的是Gitee 。

首先选择新建仓库:

然后设置仓库名、是否开源,初始化,设置模板等…
然后点击克隆,以 https 的形式复制远端仓库的链接:
而联合开发和删除仓库在都在仓库的管理部分,相对简单

2、仓库克隆和细节介绍

使用命令:

git clone https格式网址

将远端仓库克隆到本地,输入指令后需要输入用户名和密码:

(注:只有私有的克隆时才需要输入用户名和密码,开源的话就不用输)

然后目录下就出现了一个目录,名字就是上方创建目录时生成的路径名:

然后进入目录,在显示一下隐藏文件,可以发现一个 ,git 的隐藏目录。

而之前我们仓库中的文件也都在这里,就比如 Readme 文件。

同时也出现了一个叫做 .git 的目录。.git 实际上就是仓库,也就是本地库,git 中会将修改记录以二进制的形式保存在文件中。

使用 tree .git 查看一下目录内容:

框出来的部分就是修改记录。

注: .git 中的内容不要改!一定要记好了!

3、git三板斧

首先,进行一下内容拷贝,将上次写的进度条代码拷贝到当前目录下:

当内容拷贝过来之后,需要将本文件夹内所有内容提交到暂存区

git add .

在使用指令查看一下暂存区状态:

git status

下面显示了 new file ,说明我们已经将文件提交到了暂存区。

接着,将暂存区的文件提交到本地库

git commit -m "日志信息"

"" 引起来的部分为上传的日志,日志一定要好好写 ,这表明这部分代码是什么,或者新增加了什么功能。

并且别人是可以看到你的日志信息的,只要你的仓库开源,别人将仓库克隆到本地后,就可以使用 git log 或 git reflog 查看到你的日志信息:

git reflog 为查看版本信息,git log 为查看版本详细信息。

当第一次提交时,会遇到一个小问题:

框出来的话表明你需要设定一下自己的邮件和用户名,方便之后别人查看到你的日志后和你及时联系。

这时需要输入两行指令,就是第二个方框中的内容:

这时框起来的部分出现,就表明已经将暂存区的内容提交到了本地库,也就是 .git 目录中。

而以上的 add 和 commit 的操作就是将文件保存到本地库的动作(还是在本地)。

而这它们的逻辑关系可以用一张图表示:

接下来将本地库内容推送到远端

git push

输入指令后,要求我们输入用户名密码,注意这里的账号是一开始克隆仓库时使用的用户名和密码。

输入后呈现这样的格式就说明推送成功了。

可以设置免密码提交,操作很简单,可以百度一下

注:提交时可能会出现这样的告警

这个告警的影响其实不大,只需要修改全局配置,让每次 push 的时候总是显示即可。

对于 matching 和 simple ,分别输入:

git config --global push.default matching
git config --global push.default simple

进行完这些步骤,切换至 gitee 查看一下是否提交成功:

已经提交成功了(后面显示的时间,是把文件放到本地库的时间)

总结一下 git 三板斧

git add . :将内容提交到暂存区
git commit -m “日志信息” :将内容提交到本地库,日志要好好写
git push :将本地库中的内容推送到远端仓库

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乾乾不会编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值