程序员必备-了解Git

菜园前端
• 阅读 407

原文链接:https://note.noxussj.top/?source=helloworld


什么是 Git?

git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。可以理解为 git 就是一个代码管理的仓库。

指导

在学习一个新知识的时候,我们主要围绕这个思想去学习,就是为什么要学习这个新技术/知识,它的出现有什么作用?带来了什么好处?在学习 git 或者其他新知识之前,不要迫切的去看它们的代码/命令怎么写。而是先要了解它。

基础案例

git 的出现,那么一定会有它的作用。举个例子,现在我有一个项目,里面有两个文件,分别是 a.html 和 b.html。

a.html

<!DOCTYPE html> .
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body></body>
</html>

b.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body></body>
</html>

现在 boss 发布了新的需求任务,说让小明去把 a.html 文件的标题改为 "xiaoming ",让李白把 b.html 文件的标题改为 "libai ",5 分钟之内完成。由于时间紧迫,必须要两个人同时进行。那不用 git 的情况下,大家是如何做到两个人同时维护一个项目的代码呢?

传统方式实现

让我大胆假设一下大家的做法,该项目是李白搭建的(项目文件都在李白的电脑上面),这个时候小明就跟李白说把 a.html 文件通过微信发过来给我吧,然后我改完后就把这个文件再发回给你,同时小明会告诉李白我改了这个文件的哪个地方。

git 方式实现

通过 git 方式实现,那么项目的真正文件就不会在李白或者小明其中一个人的电脑上(而是在线上的仓库,例如 gitee 或者 github)。当然项目文件也会在李白或者小明的电脑上(但这个是一个副本,正本是在线上仓库里面)。小明修改 a.html 后无需告知李白改了哪里,直接通过 git 的提交功能,把自己电脑上的代码更新到线上仓库上面,然后告诉李白,我代码提交了上去了线上仓库了。李白就通过 git 的下拉功能把线上仓库的代码同步到自己电脑的代码上。也不需要通过微信相互去传输文件。

现实生活中也存在很多类似的情况,例如使用 app 的相册管家、手机同步助手、ICloud 等都类似 Git 的方式,数据都是存在线上的。

程序员必备-了解Git

这里是简化版的 git 使用流程

使用 git 的优势

  • 高效率协同开发:不需频繁的发送文件给其他同事去更新
  • 代码文件线上存储,更加安全可靠:不会因为电脑损坏而丢失代码,还可以恢复到指定版本的代码
  • 方便错误跟踪:git 会记录某个时间点,某个人改了某一行代码

到了这里应该对 git 有了一个比较清晰的认知了吧?如果觉得没问题那么在继续往下看,下一篇文章会详细介绍 如何创建一个线上仓库。以及后续的文章会陆续介绍 git 工作流程,包含如何提交代码,如何拉取最新代码。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Github管理自己的代码
一、名词解释GitGit是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git与常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持。Github
Stella981 Stella981
3年前
Git简介及安装
1Git简介Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fbaike.baidu.com%2Fitem%2FGIT%2F12647237%3Ffr%3Daladdin
Stella981 Stella981
3年前
Android Studio版本控制
Git简介Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。特点:分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(gitclone),在本地机器上拷贝一个完整的Git仓库。下图是经典的git开发过程。!磨砺营(https://static.oschina.net/uploads/im
Stella981 Stella981
3年前
Git学习心得
首先,什么是git?我想对于业内人士再熟悉不过了,但是对于一个普通人或者几天前才认识Linux的我来说,在听到git这个单词的时候心里大概只会有这句话“这是什么鬼...“。在经过两天的学习之后,我了解到git就是一个用于Linux开发的版本控制工具,与常用的版本控制工具不同,它采用了分布式版本控制的方式。git具有交流方便,速度快的优点,这对于一个项目的开
Stella981 Stella981
3年前
CentOS下使用yum安装Git具体步骤
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git是用于Linux内核开发的版本控制工具。与常用的CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布
Stella981 Stella981
3年前
Git基础命令篇
一、Git介绍(1)Git是一个开源(LinusTorvalds为了帮助管理Linux内核开发而开发)的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,与常用的版本控制工具CVS,SVN等不同,它采用了分布式版本库的方式,不必服务器端软件支持。(2)Git的工作区、暂存区和版本库:工作区:就
小万哥 小万哥
10个月前
Git 版本控制系统的完整指南
什么是Git?Git是一个流行的版本控制系统。它是由LinusTorvalds于2005年创建的,自那时以来由JunioHamano维护。它用于:跟踪代码更改跟踪谁做出了更改编写协作Git做什么?使用仓库管理项目克隆项目以在本地副本上工作使用暂存和提交来控
胖大海 胖大海
2年前
Git 原理
简介Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git与常用的版本控制工具CVS,
Damumu Damumu
1年前
Git安装详细教程
Git是一个开源的分布式版本控制系统Git与常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持。Git与SVN区别Git不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。Git与SV
小万哥 小万哥
1年前
Git入门指南:从新手到高手的完全指南
Git是一种强大的分布式版本控制系统,广泛应用于软件开发中。它的使用不仅可以帮助开发团队更好地管理代码,还可以提高团队协作效率和代码质量。随着软件开发的不断发展,版本控制成为了程序员必备的一项技能。Git作为最流行的分布式版本控制系统,被广泛地应用于软件开