6---Linux下版本控制器Git的知识点

一、Linux之父与Git的故事:

  • Linux之父叫做“Linus Torvalds”,我们简称为雷纳斯。
  • Linux是开源项目,所以在Linux的早期开发中,许多世界各地的能力各异的程序员都参与到Linux的项目开发中。那时,雷纳斯每天都会收到许许多多邮件,里面是每个程序员自己的代码,雷纳斯要审核其中的代码并且不断添加到Linux的源码中。
  • 这种工作使得雷纳斯不断压缩自己的私人时间,终于他受不了了。于是他想要有一款分布式版本控制系统,可以让开发者在本地创建分支和进行合并操作,无需每次都与中央服务器通信。也能够让开发者可以独立工作并在本地仓库中进行提交,然后再与其他开发者同步更改
  • 于是他就找到了BitKeeper,但是BitKeeper是商业软件,需要付费使用。违背了雷纳斯对开源原则的信仰,并且使用收费的版本控制软件可能会排斥一些开发者,限制了他们参与项目的能力。于是雷纳斯和其团队决定放弃使用BitKeeper。
  • BitKeeper的老板听闻后,决定免费向Linux社区提供BitKeeper的使用权限。后来由于社区内部的一些矛盾和冲突(Linux内核开发社区中的一些成员对于依赖BitKeeper这样一个闭源的商业软件一直存在不满。他们担心使用一个闭源工具来开发开源软件会带来潜在的问题,比如数据锁定和对商业公司的依赖。于是Andrew Tridgell,知名的开源开发者(Samba项目的主要开发者之一),尝试逆向工程BitKeeper的协议以便创建一个开源的替代工具。这一举动被BitMover公司视为威胁,认为这可能违反了他们的使用协议。),最终导致BitMover公司决定收回Linux社区的免费使用权限。
  • BitMover公司撤回Linux社区免费使用BitKeeper的权限,对Linux内核的开发产生了重大影响,因为开发者们突然失去了他们依赖的版本控制工具。面对这一情况,雷纳斯迅速采取行动。决定自己开发一个新的版本控制系统。并在短短的几个星期内就完成了基本功能。且进行了开源,于是乎Git就诞生了。
  • 由于Git是开源软件,内核开发者迅速采用了它,并对其进行了改进和扩展。
  • Git不仅解决了Linux内核开发的版本控制问题,还迅速成为全球最流行的版本控制系统。现在被广泛应用于各种开源和商业项目,许多开发团队使用它来管理代码库。

二、Git操作:

2.1Git创建仓库:

  • 创建时的步骤:

        

  • 创建完成后的样子:

        

2.2删除仓库:

  • 点击管理->删除仓库

        

  • 确认删除

        

2.3创建本地仓库:

  • 复制远端仓库链接:

        

  • 查看当前Linux是否安装了git:

        

git --version

  • 如果没有显式版本,可以先安装:

        

sudo yum install -y git

  • 本地先创建一个目录,然后输入指定代码,建立两个仓库之间的链接:

        

git clone + 远端仓库链接

  • 配置完成:

        

2.4提交本地代码到远端仓库:

  • 将代码放到刚才下载好的目录中
git add .
  • 提交改动到本地:

        完成该步骤之后,已经将本地代码的变化添加到了本地的.git仓库中。

git commit -m “本次提交的核心信息,不要乱写”
  • 同步到远端服务器上:需要填入用户名密码.同步成功后,刷新 Github 页面就能看到代码改动了.
git push

2.5 查看提交日志:

git log

2.6同步远端仓库到本地:

  • 如果有人克隆我的开源仓库到本地,当我更新了自己的本地仓库并且同步了远程仓库。其他人想要在克隆的本地仓库看到我的更新,就需要以下指令先更新自己的本地仓库。
git pull

2.7多人协同,如何判断其他人是否有过提交?

  • 正常提交,如果push成功,说明远端仓库没有被修改过。
  • 如果远端仓库有别人更新,这次push就不会成功,就需要自己先git pull将远端仓库和自己本地仓库同步,然后再push。

2.8查看当前仓库是否完全提交:

  • 使用指令git status查看当前仓库是否有文件未被提交。
  • 如果有文件未被提交,会说明哪个文件没有被提交。
git status

三、首次git,需要的配置解析:

  • 首次向git提交代码,需要提交邮箱和用户名:

        

  • 只需要将以上两条代码分别复制,然后将双引号中的内容更改为自己的邮箱和用户名即可。
  • 之后的提交都可以正常提交了。

四、.gitignore文件解析:

  • 可以理解为一个文件过滤器,过滤掉不想上传到远端仓库的文件。
  • 向.gitignore文件中添加文件后缀,所有在该文件中声明的后缀,在上传文件到远端仓库时,都会被过滤掉。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/706282.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32HAL库-中断篇

中断 中断简介 中断是一种事件处理机制,可以暂停主程序的运行,转而处理特定事件程序。 中断的作用和意义: 实时控制 在确定事件内对响应事件做出相应 故障处理 检测到故障需要第一时间处理 数据传输 如串口通信,不确定数…

大模型对数据库运维的赋能:智能运维的新时代

引言随着人工智能技术的飞速发展,大模型作为AI领域的前沿技术,已经开始在数据库运维(DBA)领域展现出其独特的价值。大模型的引入,不仅提升了数据库运维的效率,还极大地改善了运维的质量和智能化水平。本文将深入分析大模型在数据库…

Python专题:十五、JSON数据格式

Python的数据处理:JOSN 计算机的主要工作:处理数据 最容易处理的数据就是结构化数据 非结构化数据:视频,文件等 近些年的大数据、数据挖掘就是对互联网中的各种非结构化的数据的分析和处理 半结构化数据 明确的结构属性&…

开发属于自己的Spring Boot Starter-18

为什么要开发专用的Spring Boot Starter Spring在通常使用时,一般是通过pom.xml文件中引入相关的jar包,然后再通过application.yml文件配置初始化bean的配置,但随着项目越来越复杂或是项目组中的应用数量越来越多,可能会带来几个…

原创|手把手教你构建评分卡模型

作者:胡赟豪‍‍‍‍ 本文约2800字,建议阅读5分钟 本文介绍了构建评分卡模型。‍‍‍ 一、背景 在各种机器学习、深度学习模型快速发展的当下,评分卡模型作为一种可解释机器学习模型,仍然在金融、营销等领域被广泛使用。这一模型通…

HTML静态网页成品作业(HTML+CSS)——我的家乡江永网页设计制作(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

上海亚商投顾:沪指低开低走 两市成交额跌破8000亿

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 市场全天震荡走低,三大股指尾盘均跌近1%。地产股逆势走强,光大嘉宝、天地源、云南城投…

【NLP】文本分类

n-gram 的局限性 n-gram 只能对于填空这样的通顺性问题做出推测,但是没有办法完全解决句子的语义问题,从而无法实现文本的分类 文本的分类,就是将文本在语义的理解下划分到特定的主题下 手工规则 如一些垃圾过滤系统,需要人工制…

Spring实现数据库读写分离(MySQL实现主从复制)

目录 1、背景 2、方案 2.1 应用层解决: 2.2 中间件解决 3、使用Spring基于应用层实现 3.1 原理 3.2 DynamicDataSource 3.3 DynamicDataSourceHolder 3.4 DataSourceAspect 3.5 配置2个数据源 3.5.1 jdbc.properties 3.5.2 定义连接池 3.5.2 定义DataSource 3.6…

静态IP地址:网络通信的稳定之锚

在数字化时代,网络通信是企业运营和个人生活不可或缺的一部分。而在这个过程中,IP地址扮演着至关重要的角色。静态IP地址,作为一种特殊的网络配置,为网络通信提供了稳定性和可靠性。本文将从五个方面深入探讨静态IP地址的重要性、…

vue3 自定义组件

在项目中,我们会遇到一些没有现成的组件,那这个时候我们就需要自己去写一个满足我们需求的组件。 比如,我需要一个上下排布,上面显示标题,下面显示内容的组件。封装完成后方便复用。 1、布局组件 我定义一个上下结构的…

finallyshell激活-支持所有版本(老版 + 最新版) + 所有平台(mac + windows)

一:打开finally shell的激活页面 二:点击离线激活 三:复制机器码,然后执行一下代码 原文:大哥原文,但是这个大佬是用java实现的,执行因为依赖的问题一直报错 基于以上问题,所以使…