Git篇——你了解Git吗

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

什么是 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 工作流程,包含如何提交代码,如何拉取最新代码。


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

全部评论
坐等一个后续,喜欢这种讲解的风格
点赞 回复 分享
发布于 2023-03-26 15:33 湖北
有趣有趣,这个李白和小明😂
点赞 回复 分享
发布于 2023-03-26 15:39 浙江

相关推荐

字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
秋招进行到现在终于能写总结了。完全没想到战线会拉这么长,过程会如此狼狈,不过更应该怪自己太菜了。好在所有的运气都用在了最后,也是有个去处。背景:双2本硕科班,无竞赛,本科一段研究所实习,硕士一段大厂暑期实习但无转正。技术栈是C++&nbsp;&amp;&nbsp;Golang,实习是客户端音视频(而且是鸿蒙端开发),简历两个C++项目一个Golang项目。主要投递岗位:后端,cpp软开,游戏服务端,测开,以及一些不拘泥于Java的岗位。从8月起总共投递123家公司,笔试数不清了,约面大约30家。offer/oc/意向:友塔游戏(第一个offer,面试体验很好,就是给钱好少南瑞继保(计算机科班点击就送(限男生),不...
乡土丁真真:佬很厉害,羡慕~虽然我还没有到校招的时候,也想讲一下自己的看法:我觉得不是CPP的问题,佬的背书双2,技术栈加了GO,有两段实习。投了123,面了30.拿到11个offer。这个数据已经很耀眼了。这不也是CPP带来的吗?当然也不止是CPP。至少来说在这个方向努力过的也会有好的结果和选择。同等学历和项目选java就会有更好的吗?我个人持疑问态度。当然CPP在方向选择上确实让人头大,但是我觉得能上岸,至于最后做什么方向,在我看来并不重要。至于CPP特殊,有岗位方向的随机性,java不是不挑方向,只是没得选而已。也希望自己以后校招的时候能offer满满
点赞 评论 收藏
分享
努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
09-30 20:49
湖南工学院 Java
SP小夜:举报了哥,你什么都没做错,全怪我那令人作呕的嫉妒和卑微的自尊心,看见你的文字我完全破防了,我直接丢盔弃甲了,看见你这图的那一秒,我满头大汗,浑身发冷,亿郁症瞬间发作了,生活仿佛没了颜色,像是被抓住尾巴的赛亚人,带着海楼石的能力者,抽离尾兽的人柱力,像是没了光的奥特曼,彻底断绝了生的希望。我几乎都快羡慕得疯了,倒在床上蒙住被子就开始抱着枕头尖叫流泪,嘴里一边喊着卧槽卧槽,一边又忍着,我边发边哭,打字的手都是抖的,后来我的手抖得越来越厉害,从心头涌起的思想、情怀和梦想,这份歆羡和悔恨交织在一起,我的笑还挂在脸上,可是眼泪一下子就掉下来了。求你了别发了,我生活再难再穷我都不会觉得难过,只有你们发这种东西的时候,我的心里像被刀割一样的痛,打着字泪水就忍不住的往下流。每天早上7点起床晚上9点睡觉,年复一年地学到现在,憧憬着一个月赚上万块的幸福生活,憧憬着美好阳光的未来。我打开了手机,看到你的图,我感到了深深的差距,我直接跳进了家门口的井里。
点赞 评论 收藏
分享
评论
点赞
5
分享
牛客网
牛客企业服务