《Linux Shell脚本攻略》学习笔记-第六章

news/2024/7/3 2:17:45

6.1 简介

你开发应用程序的时间越长,就越能体会到有一个能够跟踪程序修订历史的软件是多重要。

大多数Linux发行版中都包含了Git。如果你的系统中还没有安装,可以通过yum或者apt-get获取。

6.2 创建新的git仓库

git中的所有项目都需要有一个用于保存项目文件的主目录。

git init命令会在当前工作目录下创建子目录.git并初始化配置文件

如果你想让远程用户也能够访问这个仓库,需要使用update-server-info命令。

6.3 克隆远程git仓库

必须联网才能克隆仓库,只要将文件复制到你自己的系统,就可以提交代码、回溯到旧版本等操作了。

git clone命令可以将文件从远程站点复制到本地系统中,远程站点可以是匿名仓库,也可以是需要用户名和密码登录的系统。

6.4 使用git添加与提交变更

git add命令可以将工作代码中的变更添加到暂存区。该命令不会改变仓库内容,它只是标记处此次变更。

git commit命令会可以将变更提交到仓库。

可以利用选项-a和-m选项缩短add/commit操作的输入。

6.5 使用git创建与合并分支

在添加新特性的时候,应当创建一个新的分支来标识出这次变更。新的代码经过测试和验证之后,就可以由项目维护者将新分支合并入主分支。

git的checkout命令可以用于更改和创建新分支。

切换到之前创建的分支:

如果你在当前工作区中尚有未提交的变更,则无法切换到其他已有的分支,不过你可以使用checkout的选项-b来创建新的分支

查看分支:当前分支由*着重标出

删除分支:

6.6 分享工作成果

有两种方法可以实现这一目标:创建一个补丁或是将新代码推送到主仓库

以父分支名作为参数的format-patch命令会生成当前分支的补丁文件

下列命令会为主分支上的最近一次变更生成补丁文件:

下列命令会为分支上最近的两次变更生成补丁文件:

选项--check可以测试补丁是否有效。

如果通过了--check的测试,就可以使用git apply命令应用补丁了

6.7 推送分支

git push命令可以将分支推送到主线。

git fetch和git pull命令会下载新的代码,但是不会修改你的工作代码。

6.8 检查git仓库状态

在完成集中开发和测试后,你可能不清楚都做了哪些变更、git status命令可以帮助你一臂之力。

6.9 查看git历史记录

git log命令可以生成一份报告,帮助你了解项目的一系列变更。

6.10 查找bug

git blame命令可以找出是谁提交了这段代码以及对应的SHA。

6.11 快照标签

不适用选项的git tag命令可以列出可见标签

6.12 提交信息规范

在git社区中,存在着一些约定用法

  • 每行长度在72个字符左右。使用空行分隔段落。
  • 第一行的长度应该保持在50个字符左右并总结出此次提交的原因。其内容应该足够具体,不要泛泛而谈,要让用户一眼就能看明白。
  • git apply命令可以将补丁应用于工作代码,在运行该命令之前,你必须检出相应的快照。
  • format-patch命令会汇集你所做出的的变更,创建一个或多个补丁。

http://lihuaxi.xjx100.cn/news/663725.html

相关文章

1.13笔记

S :file Size differs(档案的内容大小已被改变) M :Mode differs (includes permissions and file type)(档案的类型属性等已被改变) 5 :MD5 sum differs(MD5 这一加密属性是否被改 …

Camunda自定义IdGenerator

实现思路自定义类custom实现IdGenerator接口新增BpmConfiguration,增加ProcessEnginePlugin bean初始化时指定custom。代码实现CustomUuidGenerator.javaimport com.fasterxml.uuid.EthernetAddress; import com.fasterxml.uuid.Generators; import com.fasterxml.u…

从Deepmind最新成果DreamerV3启发的通用AI技术分析

一、背景 本文系个人观点:错漏在所难免,仅供参考 北京时间 1 月 12 日,DeepMind 官方推特发文,正式官宣 DreamerV3,这是首个能在游戏「我的世界」(Minecraft) 中不参考人类数据,就能从头开始收集钻石的通…

智慧水务能效管理平台在污水处理厂电气节能中的应用

摘要:污水处理属于高能耗行业,会消耗大量的电能、燃料和药剂等,高能耗不仅会提升污水处理成本,还会加剧能源危机。所以,本文首先探究了污水处理厂耗能的原因,分析了污水处理与节能降耗的关系,然…

Cookie的相关操作

1. Cookie处理 Cookie定义:是储存在用户本地终端上的数据,实际上是一小段的文本信息。 1. Cookie作用 帮助 Web 站点保存有关访问者的信息,方便用户的访问。如记住用户名密码实现自动登录。 案例:查看访问我要自学网时的Cookie内容 # Webdriver中操作cookie的方法包括: # g…

GraphQL(二)- Schema 和 Resolver

在GraphQL中,Schema和Resolver是两个非常重要的概念,是编写GraphQL Server的2个基本单元 本文介绍GraphQL中的Schema和Resolver。 Schema Schema定义了GraphQL中基于graph的数据格式 参考: https://graphql.org/learn/schema/ Type语言 GraphQL 服务可以用任何语言编写。由于…

2022.12 青少年机器人技术等级考试理论综合试卷(三级)

2022年12月 青少年机器人技术等级考试理论综合试卷(三级) 分数: 100 题数: 30 一、 单选题(共 20 题, 共 80 分) 1.舵机接到 Arduino UNO/Nano 主控板的 2 号引脚, 下列选项中, 实现舵机在 0 度…

mysql快速生成100W条测试数据(8)全球各城市人口及经济增长速度并存入mysql数据库

这是之前的文章里面包含一些以前的一些操作流程可以进行参考学习 更加详细操作步骤在第一篇文章里面 mysql快速生成100W条测试数据(1):游戏人物数据 mysql快速生成100W条测试数据(2)公司员工信息 mysql快速生成100W条测…