入门 git

文章简介

本篇文章主要介绍命令行下的 git 的入门操作(本地 – 远端仓库的推送拉取),以及简单理解什么是 git, 为什么要用 git,以及 git 的来源简述。

1. git 是什么

在了解什么是 git 之前,我们需要先了解一个现实中的需求案例。

在企业内部,有产品经理/项目经理,他们是面向客户的,解决客户需求的,而开发人员则是与产品经理进行对接。假设在某公司,有产品经理赵六,有程序员张三。有一天,赵六对接完客户,了解了客户的需求之后,就颁发下去给张三等人去协助开发完成这个任务。

一个月后,张三作为小组代表,将项目拿给赵六看,赵六看完摇了摇头,不太满意,于是让张三回去继续改。两天后,张三又拿着这个项目过来找赵六,赵六还是不满意,让他继续改。改第三次…第四次…第五次…

最后,赵六对比了张三改的所有版本,还是觉得,之前的第三版是最好的,决定还是用回之前的第三版吧!于是就告诉张三:“ 你还是别改了,你把之前的第三版,拿给我看就好了 ”。听到这里,张三整个人都愣住了,张三是个小白程序员,他不懂 git,于是,他的所有改动,都是在基于原来的版本进行的修改!最后张三只能苦逼的回忆起来第三版,并且进行还原,最后对接产品经理。有了这次教训之后,张三就养成了备份的习惯,每次都会保留原来的版本。

所以什么是 git 呢??

你可以理解为,git 可以帮你完成版本控制,划分出各个版本之间的区别,不再需要你手动维护各个版本,并且可以完成多人协助开发(本篇文章不讲),git 推送到远端仓库也可以达到 “备份” 的作用。

在 git 中,有两个名词叫做,本地仓库,远端仓库。

那么什么是本地仓库和远端仓库? ----- 在 git 新建仓库之后,将仓库拉取到你本地磁盘中的那个目录,就叫做本地仓库!反之,远端仓库则是存储在 git 服务器的地方,叫做远端仓库!所以本地仓库就是存储在你本机,远端仓库就是存储在 git 的服务器。

2. 为什么要用 git

就如上面的故事所说,我们自己也好,或者企业也好,在实际的开发过程中,都有对版本控制的需求,一个稍微复杂一点的项目,不可能一气呵成的完成,中途肯定是磕磕绊绊,改改删删,指不定哪天你回过头,又觉得前面哪个版本好,所以版本控制,在实际开发中可以带来很大的便利。再者,假设今天你的机器出问题了,开不了机,文件莫名其妙缺失等因素,你如果推送到了远端,那你不还有远端嘛,对别人,或者你自己,都是一个极大的帮助。

3. git 入门操作

git clone 仓库地址			// 拉取远端仓库到本地
git add 文件/目录			// 添加文件到 git
git commit -m "提交日志"  	// 提交改动到本地,这里的日志不能随便写!根据实际情况写!
git push					// 推送同步到远端仓库上
git log						// 查看提交日志
git status					// 查看当前的 git 状态(比如有哪些文件还没有添加到 git,没有提交,没有推送)

4. git 的来源简述(拓展)

在 linux 领域学习或者开发的,都知道 linux 的祖师爷 雷纳斯托瓦兹。一名 linux 内核的设计者,并且将 linux 进行开源。而在 linux 社区成立之时,雷纳斯托瓦兹就经常收到了来自社区的各大顶尖系统工程师的邮件(因为开源,所以 linux 系统的问题和缺点,都会有人进行发现及修改),所以咱祖师爷每天就需要去根据各界大佬发来的邮件,然后去整合这些代码,而版本控制的需求也因此诞生。因为有很多人,所以也就有很多个版本,而人工去维护这些版本,费时费力费心!

但是,随着社区的发展壮大,参与 linux 开发的人也越来越多,总不能每天就都在整合代码吧?

于是,雷纳斯托瓦兹就想,能不能在世面三找一款软件,能够自动化合并别人所提交的代码,并且能够很好的对 linux 代码进行管理的这么一款软件。但是在当时年代,大部分的版本控制相关的软件都是收费的,而当时社区秉承着一种开源精神等因素,都拒绝使用收费软件。

好巧不巧,后来有一个有情怀的企业,为 linux 社区免费提供了这么一款软件,这也对 linux 社区的发展提供了很大的帮助。但是好景不长,由于 linux 社区都是当时年代的顶尖工程师,能力强,好奇心重,于是有一天,社区有人就尝试去破解这个软件,后来被该企业发现,就对 linux 社区终止这个软件的授权了。

所以后来,雷纳斯托瓦兹干脆就自己写了一款版本控制的demo,并且也进行开源!所以当时写操作系统的人,也都进行了该软件的开发,不久之后就有了我们现在的 git !



如果感觉该篇文章给你带来了收获,可以 点赞👍 + 收藏⭐️ + 关注➕ 支持一下!

感谢各位观看!

相关推荐

  1. <span style='color:red;'>Git</span><span style='color:red;'>入门</span>

    Git入门

    2024-07-17 07:24:04      50 阅读
  2. <span style='color:red;'>Git</span><span style='color:red;'>入门</span>

    Git入门

    2024-07-17 07:24:04      51 阅读
  3. git入门

    2024-07-17 07:24:04       44 阅读
  4. <span style='color:red;'>Git</span><span style='color:red;'>入门</span>

    Git入门

    2024-07-17 07:24:04      44 阅读
  5. <span style='color:red;'>git</span><span style='color:red;'>入门</span>

    git入门

    2024-07-17 07:24:04      24 阅读
  6. <span style='color:red;'>git</span><span style='color:red;'>入门</span>

    git入门

    2024-07-17 07:24:04      32 阅读
  7. 入门 git

    2024-07-17 07:24:04       22 阅读
  8. Git入门

    2024-07-17 07:24:04       25 阅读
  9. <span style='color:red;'>Gin</span><span style='color:red;'>入门</span>

    Gin入门

    2024-07-17 07:24:04      26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 07:24:04       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 07:24:04       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 07:24:04       62 阅读
  4. Python语言-面向对象

    2024-07-17 07:24:04       72 阅读

热门阅读

  1. IPython 的 %history -p 命令:探索命令行历史的秘籍

    2024-07-17 07:24:04       30 阅读
  2. [NOIP2006 提高组] 作业调度方案(含代码)

    2024-07-17 07:24:04       20 阅读
  3. OpenSearch 第三方IoT设备日志分析

    2024-07-17 07:24:04       31 阅读
  4. Photoshop

    Photoshop

    2024-07-17 07:24:04      20 阅读
  5. Github07-16 Python开源项目日报 Top10

    2024-07-17 07:24:04       24 阅读
  6. 用于图像增强的学习型可控ISP

    2024-07-17 07:24:04       30 阅读
  7. 掌握Xcode的魔术:自定义Storyboard的创建与管理

    2024-07-17 07:24:04       30 阅读
  8. Telegram Bot、小程序开发(三)Mini Apps小程序

    2024-07-17 07:24:04       24 阅读
  9. Google 地图参考手册

    2024-07-17 07:24:04       27 阅读
  10. 通过swagger自动生成jmeter脚本

    2024-07-17 07:24:04       25 阅读