Git分布式管理-头歌实验本地版本库

一、本地版本库创建

任务描述

本地Git操作三部曲是“修改-添加-提交”,即先要在本地仓库进行添加、删除或编辑等修改,然后将本地所做的修改添加至暂存区。添加至暂存区的这些本地修改,并未提交到本地仓库,需要执行提交命令才能将暂存区中的修改,添加到本地仓库。

使用Git最基本的是,要先创建一个本地版本库,然后才能在本地修改、保存及提交文件。现在,让我们从创建一个本地版本库开始!

本关任务:现在你要开始使用Git进行项目的版本控制了,请在本地创建一个版本库。

相关知识

Linux基础操作

在现今的软件开发中,Linux系统及其命令行的使用,已经是一项必不可少的技能。虽然有其他基于Git的图形化软件,但是Git只能通过命令行进行操作。因此,掌握一些基础的Linux操作命令很有必要。

创建某个目录

有时我们需要创建目录,这时就需要使用命令mkdir。通过mkdir,可以在指定的目录下创建文件夹,其用法如下:

  • 在当前目录下,创建目录helloGit:   mkdir helloGit
  • /home目录下,创建目录helloGit:   mkdir /home/helloGit

mkdir的其他高级用法请参考其他Linux资料。

创建文件

创建文件可以使用命令touch,其用法如下:

  • 在当前目录下,创建文件helloGit.txt:    touch helloGit.txt
  • /home目录下,创建文件helloGit.txt:    touch /home/helloGit.txt
进入目录

进入某个目录,需要用到命令cd,其用法如下:

  • 进入helloGit目录:    cd helloGit

这样的用法默认了helloGit目录,存在于当前目录下。也可以在cd命令中,直接指定进入当前目录:     cd ./helloGit

  • 进入/home/helloGit目录:    cd /home/helloGit

  • 返回到上一级目录: 在Linux系统下,上一级目录可以用‘..’代替,如:

    1. #进入上一级目录
    2. cd ..
    3. #进入上一级目录的再上一级目录
    4. cd ../../
    5. #进入上一级目录下的helloGit
    6. cd ../helloGit
使用Git前的准备
安装

Git可以使用源码安装,具体的安装过程请参考Git官网教程或者GithubGit仓库的用户指南。 但对于初学用户,还是建议大家直接安装。

  • Linux下安装:

    1. #Fedora下安装
    2. yum install git-core
    3. #Ubuntu等Debian类体系结构系统下
    4. apt-get install git
  • Mac上安装:    在 Mac 上安装 Git 有两种方式。可以使用图形化的 Git 安装工具,网址为图形化Git工具安装地址;另一种是通过MacPorts 安装。如果已经装好了 MacPorts,请用下面的命令安装 Gitsudo port install git-core +svn +doc +bash_completion +gitweb

  • Windows下安装:   在 Windows 上安装 Git,可以使用msysGit 的项目提供的安装包,可以到 GitHub 的页面上,下载 exe 安装文件并运行:   http://msysgit.github.com/ 完成安装之后,就可以使用命令行的 git 工具了。建议大家最好使用Unix风格的shell来运行Git。另外,Linux也有其他图形化的Git工具,如Tortoisegit。不过,还是建议大家直接使用shell来运行Git

Git配置

由于Git是一个分布式的版本控制系统,所以当利用它进行分工协作时,必须区分不同的机器。这一点可以通过配置机器的名字和邮箱完成。Git初始使用时,也会提示进行配置。配置命令如下:

  1. $ git config --global user.name "Your Name"
  2. $ git config --global user.email "email@example.com"

在实际的使用过程中,可以将“Your Name”“email@example”替换为自己实际的名字和邮箱。

如何创建一个本地版本库

首先,我们需要创建一个目录,做为我们的本地版本库,然后使用git init命令,将其初始化为一个本地版本库,如下:

  1. #在/home目录下,创建repo目录
  2. mkdir /home/repo
  3. #进入repo目录
  4. cd /home/repo
  5. #将repo初始化为一个本地版本库
  6. git init

通过上述命令,即可在/home目录下,创建repo目录,并将其初始化为一个版本库。

编程要求

现在我们已经学习了Git的原理(具体请阅读背景知识部分内容)、安装及配置,也学到了一些必备的Linux操作,我们已经为你在Linux系统下,安装好了Git,并进行了配置,这为你省去了不少麻烦。 本关的编程任务是,补全右侧代码片段中BeginEnd中间的脚本,通过执行你所编写的脚本,来完成创建本地版本库的任务。具体要求如下:

  • 在当前目录下,创建一个名为gitTraining的目录;
  • gitTraining目录,初始化为一个本地版本库。
#创建gitTraining文件夹
mkdir gitTraining

#进入gitTraining文件夹
cd gitTraining

#请添加初始化本地Git仓库的命令
#********** Begin **********#
git init

#********** End **********#

 二、添加修改到暂存区域

任务描述

现在我们已经有了一个本地仓库,但是现在它里面空空如也。那么我们到底要怎么去保存我们的修改呢? 本关任务:使用Git命令将本地文件添加到暂存区中。

相关知识
如何将修改保存到暂存区

本地版本库就相当于一个存放在本地的仓库,里面记录了我们本地文件的各种版本及不同版本之间的差异。当我们添加、删除或者修改了文件之后,我们必须将修改添加至工作区以暂时保存(Git的工作原理请认真阅读背景知识部分)。

添加修改,并保存至工作区,需要用到git add命令,git add命令的使用方式如下所示:

#添加所有修改
git add .
#添加hello.txt文件
git add hello.txt

如上所示,当需要添加所有文件至工作区时,使用git add .,如果想添加指定文件,只需要像示例中添加hello.txt一样,将文件名做为参数名,传给git add即可。

虽然本关考察了添加修改到暂存区的操作,但是如果想得心应手地使用Git还不够。这里,必须要向你介绍另外两个很重要的命令。

查看工作区状态

当你创建完helloGit.txt,而且没有将其添加到暂存区域时,如果使用git status命令,你会得到类似于下面的输出(中文):

或者这种(英文):

这是什么?这是提示你工作区有被修改的文件,未提交至暂存区。 当你执行完git add之后,会得到类似于下面的输出:

或者这种:

这是在提醒你,暂存区有哪些内容需要提交到本地仓库。

其实git status命令用来查看当前工作区的状态,即有哪些已经修改,还尚未提交到暂存区的文件。在实际的开发过程中,面对复杂的程序文件,你经常需要查看一下,自己对哪些文件做了修改,此时git status命令就很有用了。你可以在命令行界面下,自己去体验一下。

撤销修改

本关只考察了添加内容,但是如果你不小心把不想添加的东西添加到暂存区,或者想丢弃已经添加的内容,这个时候你该怎么办呢?不用着急,这个时候git checkout命令就可以大显身手了。

checkout命令用法如下:

git checkout helloGit.txt

这样就能把已经添加到本地的helloGit.txt从暂存区中移除。

#创建gitTraining文件夹
mkdir gitTraining

#进入gitTraining文件夹
cd gitTraining

#请添加初始化本地Git仓库的命令
#********** Begin ********init**#

git init
#********** End **********#

#创建helloGit.txt文件
touch helloGit.txt

#请添加提交helloGit.txt到暂存区的命令
#********** Begin **********#
git add helloGit.txt
git status
#********** End **********#

 三、提交修改到本地仓库

任务描述

本地Git操作三部曲,是“修改-添加-提交”。现在你已经完成了前两个,相信你也迫不及待地想进行第三个操作了:将本地修改提交到本地仓库中去。

本关任务:将暂存区中的修改提交到本地仓库中。

相关知识
如何将修改提交到本地仓库

将修改添加到暂存区,只是将你的工作暂时保存,并没有添加到本地的仓库中。这个过程可以类比写文件,将修改添加至暂存区,就相当于把内容先放入缓存区。因此,我们必须将工作区的内容提交到本地版本库去,才算是真正地保存了修改。

提交修改到本地仓库,使用命令git commit,其使用方式如下所示:

git commit -m "示例提交"

-m参数后面跟的是本次提交的具体内容,用来说明你这次的提交,主要是做了哪些修改,这个说明内容是必须的。

解析commit的输出结果

在执行完git commit命令之后,会得到类似于下面的返回结果:

其中:

  • “添加helloGit.txt”“-m”的参数,即执行的命令为git commit -m "添加helloGit.txt"
  • “1 file changed, 0 insertions(+), 0 deletions(-)” 提示改动信息;
  • “37302ce”这个字符串则是本次提交的Idcommit Id唯一对应一次提交。
令人惊喜的git log和git status

当执行完git commit后,如果你试着执行以下git log你可能会得到如下的输出:

其中:

  • “commit 37302ce99137cf30fabc14784d23ea63cadb928b”中的后面这一串字符就是完整的commit id
  • “Author”就是这次提交的作者,它就是我们在git config中配置的user.name
  • 最后输出的“添加helloGit.txt”,是我们在提交时添加的信息。

如果有多次提交即commit,在执行git log时,会输出每一次的提交的具体信息。这样的话,什么时候(Date)由什么人(Author)提交了什么内容(“添加helloGit.txt”)就一目了然了。

#创建gitTraining文件夹
mkdir gitTraining

#进入gitTraining文件夹
cd gitTraining

#请添加初始化本地Git仓库的命令
#********** Begin **********#
git init

#********** End **********#

#创建helloGit.txt文件
touch helloGit.txt
 
#请添加提交helloGit.txt文件到暂存区的命令
#********** Begin **********#
git add helloGit.txt
git status

#********** End **********#

#请添加提交helloGit.txt至本地仓库的命令
#********** Begin **********#
git commit -m "Add helloGit.txt"
git log
#********** End **********#

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SPSS26安装后无法启动,提示:应用程序的并行配置不正确

以下的解决方法供参考: 1、安装jdk并配置 2、 找到安装目录\Statistics\26\VC9下的vcredist_x64.exe,打开安装并选择“repair”,安装完成后重启,一般可以成功。 3、若还不行,安装较新的C运行库,再试试。 …

勒索病毒攻击新玩法,先盗数据再勒索

2019年是勒索病毒团伙针对企业进行勒索攻击爆发的一年,全球多个国家的政府组织机构、企事业单位都成为了勒索病毒团伙攻击的目标,勒索病毒也成为了网络安全最大的网络安全威胁,新的勒索病毒不断涌现,旧的勒索病毒不断变种&#xf…

1.1 深度学习和神经网络

首先要说的是:深度学习的内容,真的不难。你要坚持下去。 神经网络 这就是一个神经网络。里面的白色圆圈就是神经元。神经元是其中最小的单位。 神经网络 单层神经网络: 感知机 (双层神经网络) 全连接层: …

DHCP自动获取IP地址实验(华为)

思科设备参考&#xff1a;DHCP自动获取IP地址实验&#xff08;思科&#xff09; 一&#xff0c;实验目的 路由器搭载DHCP&#xff0c;让PC通过DHCP自动获取IP地址 二&#xff0c;不划分vlan--全局地址池 实验拓扑 配置命令 Router <Huawei>system-view [Huawei]ip po…

十三、类的继承、访问级别

类的继承与访问控制 类的继承 使用sealed修饰的类&#xff0c;是私有类&#xff0c;不能作为基类使用C#中一个类&#xff0c;只能有一个父类&#xff0c;但是可以实现多个接口子类的访问级别不能超过父类的访问级别 using System; using System.Collections.Generic; using S…

HDFS简介与部署以及故障排错(超简单)

文章目录 一、HDFS介绍1、简介2、结构模型3、文件写入过程4、文件读取过程5、文件块的存放6、存储空间管理机制6.1 文件删除和恢复删除6.2 复制因子配置6.3 文件命名空间6.4 数据复制机制 二、环境搭建&#xff08;单机版&#xff09;1、修改主机名2、配置ssh免密登录3、Hadoop…

HTML表单标签,web前端开发新技术

1、ant-design的使用总结及常用组件和他们的基本用法? ant-design为React&#xff0c;Angular和Vue都提供了组件&#xff0c;同时为PC和移动端提供了常用的基础组件。ant-design提供的demo非常的丰富并且样式能够基本的覆盖开发需求。antd的Demo因为是多人编写的&#xff0c;…

(vue)适合后台管理系统开发的前端框架

(vue)适合后台管理系统开发的前端框架 1、D2admin 开源地址&#xff1a;https://github.com/d2-projects/d2-admin 文档地址&#xff1a;https://d2.pub/zh/doc/d2-admin/ 效果预览&#xff1a;https://d2.pub/d2-admin/preview/#/index 开源协议&#xff1a;MIT 2、vue-el…

自动化测试基础——Pytest框架之YAML详解以及Parametrize数据驱动

文章目录 一、YAML详解1.YAML作用2.YAML语法结构3.YAML数据类型3.1.对象3.2.数组3.3.标量 4.YAML的引用5.YAML类型转换 二、YAML的读写与清空1.YAML的读2.YAML的写3.YAML的清空 三、pytest的parametrize简单数据驱动四、pytest的parametrize结合yaml实现数据驱动五、解决pytest…

LeetCode Python - 36.有效的数独

目录 题目答案运行结果 题目 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 &#xff0c;验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。&#xff08…

CSS 选择器的常见用法

CSS选择器的主要功能就是选中⻚⾯指定的标签元素.选中了元素,才可以设置元素的属性. CSS选择器主要分以下⼏种: 1. 标签选择器 2. class选择器 3. id选择器 4. 复合选择器 5. 通配符选择器 <body><div class"font32"> 我是一个div,class为front32</…

D*算法超详解 (D星算法 / Dynamic A*算法/ Dstar算法)(死循环解决--跟其他资料不一样奥)

所需先验知识&#xff08;没有先验知识可能会有大碍&#xff0c;了解的话会对D*的理解有帮助&#xff09;&#xff1a;A*算法/ Dijkstra算法 何为D*算法 Dijkstra算法是无启发的寻找图中两节点的最短连接路径的算法&#xff0c;A*算法则是在Dijkstra算法的基础上加入了启发函数…

docker-compose Install rustdesk

RustDesk RustDesk 是一款开源的远程支持和远程桌面工具,它旨在为用户提供便捷的远程协助和远程访问功能。 默认情况下,hbbs 监听21115(tcp), 21116(tcp/udp), 21118(tcp),hbbr 监听21117(tcp), 21119(tcp)。务必在防火墙开启这几个端口, 请注意21116同时要开启TCP和UDP。…

Mint_21.3 drawing-area和goocanvas的FB笔记(四)

Cairo图形输出 cairo的surface可以是pixbuf, 可以是screen, 可以是png图&#xff0c;也可以是pdf文件 、svg文件、ps文件&#xff0c;定义了surface就可以用cairo_create(surface)产生cairo context, 操作cairo context就可以方便地在surface上画图&#xff0c;如果surface是p…

微服务知识03

1、ES搜索引擎,高性能的分布式搜索引擎,底层基于Lucene 主要用于应用程序中的搜索系统 日志收集 2、基础概念 3、ES处理流程 5、下载中文分词器 Releases infinilabs/analysis-ik GitHub 6、分词模式 最细粒度拆分、智能分词 7、Elaticsearch配置流程 (1)把文件拖进…

2024 年适用于 Windows 和 Mac 的最佳数据恢复软件

您刚刚与朋友参加了一次难忘的告别聚会回来。您已经拍摄了数百个美好瞬间&#xff0c;并将它们保存在您的设备中&#xff0c;并渴望与您所爱的人分享。 但随后&#xff0c;您突然不小心从电脑中删除了整个相机文件夹。现在这是我们许多人面临的最严重的问题&#xff0c;因为我…

Stable Diffusion ———LDM、SD 1.0, 1.5, 2.0、SDXL、SDXL-Turbo等版本之间关系现原理详解

前言 2021年5月&#xff0c;OpenAI发表了《扩散模型超越GANs》的文章&#xff0c;标志着扩散模型&#xff08;Diffusion Models&#xff0c;DM&#xff09;在图像生成领域开始超越传统的GAN模型&#xff0c;进一步推动了DM的应用。 然而&#xff0c;早期的DM直接作用于像素空…

2024年2月份微软安全通告

文章目录 &#xff08;一&#xff09; 漏洞概要&#xff08;二&#xff09; 漏洞数据分析1、漏洞数量趋势2、历史微软补丁日二月漏洞对比3、漏洞数量分析 &#xff08;三&#xff09; 重要漏洞分析1、漏洞分析2、影响范围3、修复建议 &#xff08;一&#xff09; 漏洞概要 202…

SanctuaryAI推出Phoenix: 专为工作而设计的人形通用机器人

文章目录 1. Company2. Main2.1 关于凤凰™ (Phoenix)2.2 关于碳™(Carbon)2.3 商业化部署2.4 关于 Sanctuary Corporation 3. My thoughtsReference彩蛋&#xff1a;将手机变为桌面小机器人 唯一入选《时代》杂志 2023 年最佳发明的通用机器人。 称机器人自主做家务的速度和灵…

5G 网络切片VLAN ID配置错误导致业务不可用

【摘要】随着电联5G共建共享工作的开展&#xff0c;无法及时有效观测到单逻辑站点的相关指标&#xff0c;导致单运营商用户业务出现异常。本案例中着重对单运营商用户无法使用网络进行相关参数排查&#xff0c;从KPI性能指标结合故障告警发生时间&#xff0c;从而分析由于网络切…