千家信息网

git应用快速入门

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1. git简介1.1 产生历史​ git是目前世界上最先进的分布式版本控制系统。​ Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Lin
千家信息网最后更新 2026年11月01日git应用快速入门

1. git简介

1.1 产生历史

​ git是目前世界上最先进的分布式版本控制系统。

​ Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!

​ 你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。

​ 实际情况是这样的:Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。

1.2 git的两大特点

  • 版本控制:可以解决多人同时开发的代码问题,也可以解决找回历史代码的问题。
  • 分布式:Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。首先找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个"服务器"仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。可以自己搭建这台服务器,也可以使用GitHub网站。

2. 安装与配置

2.1 方式1:yum安装命令如下

(此种安装的1.8,版本太老,可以学习用,生成环境建议用第二种方式):

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/a69f1d7dde72520efa39cd829ebc424d.png)

2.2 方式2:编译安装(生产环境建议此种方式)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/07456582b5f33002e870c1b7d493006a.png)

(3)安装成功后,运行如下命令:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/f6db1580572213aa6f925902a1dba10c.png)

3. 创建一个版本库

新建目录git_test,在git_test目录下创建一个版本库,命令:git init

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/4722f206b798e103d3025b2e141c0e7e.png)

可以看到在git_test目录下创建了一个.git隐藏目录,这就是版本库目录。

4. 版本创建与回退

4.1 git的工作原理

① 在版本库中创建文件的时候,就有了文件的第一个版本,于此同时会生成一个指针指向这个版本

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/6b88e8ed7860db0b26ed20dc7f7deda8.png)

② 当修改了code.txt中的内容以后,就生成了第二个版本,但是这个版本是依赖上一个版本的,在这个版本中仅仅会记录文件发生了那些修改。在有了一个新版本之后,这个指针会指向最新的版本。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/6df42071833e9d06ac2e29311a3137c5.png)

③ 通过修改指针的位置可以实现回退到某个版本,表示方式有两种,一种是用^,一种使用~,如下

l HEAD^ 或者 HEAD~1:表示上一个版本

l HEAD^^ 或者 HEAD~2:表示上两个版本

通过上面的方式回退到第一个版本之后,指针就指向了版本1

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/12f0ad0473c03b018e670f66adb80859.png)

4.2 使用

(1) 在git_test目录下创建一个文件code.txt,写入一行内容如下:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/52eed22d940b2c0dd28dafdbc44b0a82.png)

(2) 使用如下两条命令可以创建一个版本,创建版本需要两步:

① git add code.txt

② git commit -m '版本1'

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/0b245c928d82cb17440a199fca4a106a.png)

(3) 查看版本记录,命令是git log:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/1928a9c46af9b1e0d5fba3d223e11e6d.png)

(4) 继续编辑code.txt,在里面增加一行。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/a8b00e15d20927d2e0f221c9f85ea374.png)

(5) 使用如下命令再创建一个版本并查看版本记录:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/19ec9f94aa928236749a533ab7273fc1.png)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/59b8e34134704ae7ffad891986cdce40.png)

(6) 现在若想回到某一个版本,可以使用如下命令:

git reset --hard HEAD^

其中HEAD表示当前最新版本,HEAD^表示当前版本的前一个版本,HEAD^^表示当前版本的前前个版本,也可以使用HEAD~1表示当前版本的前一个版本,HEAD~100表示当前版本的前100版本。

现在若觉得想回到版本1,可以使用如下命令:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/622cf2c65767930b0336720086b396a4.png)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/bf209a7e8a84c9561660f3d2c832fc3d.png)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/293e0ee75ade3c7407946616e7e174e7.png)

执行命令后使用git log查看版本记录,发现现在只能看到版本1的记录,cat code.txt查看文件内容,现在只有一行,也就是第一个版本中code.txt的内容。

(7) 假如我们现在又想回到版本2,这个时候怎么办?

可以使用如下命令:

git reset --hard 版本号

从上面可以看到版本2的版本号为:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/d9f54d5442caa834c55f89d961d12ef2.png)

(8) 根据查询到的序号进行版本选择:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/43688f6a851ed6184b10b9eb4b36ea66.png)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/ddc8fb3d31b0b1f58f126f93928438a4.png)

现在发现版本2有回来了。可以cat code.txt查看其里面的内容如下:

(9) 假如说上面的终端已经关了改怎么回退版本。

我们在执行如下命令将版本回退到版本1。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/adc54a2e15245ecf6ac2032952b54ee5.png)

下面把终端关了,然后再打开终端,发现之前版本2的版本号看不到了。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/2d945896a80dc6303c56dd357abfd91d.png)

那么怎么再回到版本2呢?git reflog命令可以查看我们的操作记录。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/1856351329cd92321260f41e3d11a073.png)

可以看到版本2的版本号,我们再使用如下命令进行版本回退,版本重新回到了版本2。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/675df08acb21bd8dfe60ed15a5af6fe7.png)

4.3 工作区和暂存区

4.2.1 工作区(Working Directory)

电脑中的目录,比如我们的git_test,就是一个工作区。

4.2.2 版本库(Repository)

l 工作区有一个隐藏目录.git,这个不是工作区,而是git的版本库。

l git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

l 因为我们创建git版本库时,git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。

l 你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/9d04da9025130069684dc44c5cf6925b.png)

前面讲了我们把文件往git版本库里添加的时候,是分两步执行的:

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

(1) 下面在git_test目录下再创建一文件code2.txt,然后编辑内容如下:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/83ee9f6032ae0bb75f2f08cc9d9c315e.png)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/ef7e51dcf1ef925e187405bec12ff783.png)

(2) 然后再次编辑code.txt内容,在其中加入一行,编辑后内容如下:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/97dc419986fac449458333fb110a7d22.png)

(3) 使用如下命令查看当前工作树的状态:

git status

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/cfb1eb0f1fe49ade9363f35ce4bb992b.png)

上面提示我们code.txt被修改,而code2.txt没有被跟踪。

(4) 我们使用如下命令把code.txt和code2.txt加入到暂存区,然后再执行git status命令,结果如下:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/06847424b8663028ecab6fecdde05e7b.png)

所有git add命令是把所有提交的修改存放到暂存区。

(5) 然后,执行git commit就可以一次性把暂存区的所有修改提交到分支创建一个版本。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/80b3bb11d8d8644dcd211cbbfad30a0c.png)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/85d569a429786cce0694f26a4df4d1f1.png)

(6) 一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是"干净"的。执行如下命令可以发现:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/1a39201a621e16067b015747128700ea.png)

4.3 管理修改

git管理的文件的修改,它只会提交暂存区的修改来创建版本。

(1) 编辑code.txt,并使用git add 命令将其添加到暂存区中。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/4fa2426cd28b21364efc4b55f4aa36be.png)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/8424cedf040abd54acf8cca269290b8f.png)

添加到缓存区

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/57b57dfcc86e2556bd1c3f1bb474a88d.png)

再添加一行

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/f865de8037b69aff355f1603f06fab93.png)

(2) git commit创建一个版本,

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/f566cad50cca22c4a19fe3b993667c6f.png)

此时并使用git status查看,发现状态不是clean

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/87ede3cfb11ed956cee55c026ea0ef82.png)

这是因为第二次修改code.txt内容之后,并没有将其添加的工作区,所以创建版本的时候并没有被提交。

4.4 撤销修改

(1) 继续上面的操作,提示我们可以使用格式来撤销操作,也就是丢弃工作区中你的修改:

git checkout -- <文件>

执行如下命令,

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/355890b389e820c43d12d5e6a440856e.png)

发现工作区干净了,

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/19fbdc3cd4e7f4d36298f6d2fed0582b.png)

第二次的改动内容也没了。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/b8d1df6711d8a61f8704c4da411da7e6.png)

(1) 前面所演示的是尚未添加到暂存区中的内容进行回滚,其实,即使加入到了暂存区,也是开始可以回滚的。

我们继续编辑code.txt,并在其中添加如下内容 ![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/ba216e8d1d4fdee2a99d4381557af131.png)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/e66b86628c924d16fa519cec7411b916.png)

并将其添加的暂存区

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/762edae36f9b9aa5787e9933e9c02dac.png)

(3)git同样告诉我们,用命令git reset [选项] HEAD file可以把暂存区的修改撤销掉,重新放回工作区。

选项有三个

l --hard:缓存区和工作目录中的内容都回滚到指定的那个版本状态

l --mixed:默认选项,缓存区和你指定的提交同步,但是工作目录不受影响

l --soft:缓存区和工作目录中的内容都不变(仅仅库中的内容回滚的指定版本)

l 使用这些选项的时候,就不能再指定具体的文件了

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/54ae8f8351550ce24176c04c92239604.png)

状态

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/71a550c8a984f4a2128a9f64b7012a95.png)

到这里,仅仅是保存在将暂存区中的内容删除了,接下来就可以将这个文件回滚到修改之前的状态

(4)现在若想丢弃code.txt的修改,执行如下命令即可。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/9831f9bea646ce2be61d164e3df5b478.png)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/37630b24e0baa6f8d66130e4d625beee.png)

现在,如果你不但改错了东西,还从暂存区提交到了版本库,则需要进行版本回退。

小结:

l 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

l 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

l 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节。

来演示三个选项的作用

先来演示hard选项

1 在版本库中编辑一个文件1,并add到暂存区

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/5d530dcb7bce2f17fc4248533e299132.png)

2 编辑另一个文件(不保存到暂存区)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/2c5bbb630e4f1b577ff93f0a2ca70758.png)

3 查看状态,一个在暂存区 一个是未追踪状态

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/b71db601d079d062721aef77afa375b2.png)

4 用git reset --hard xxxx 回滚到一个状态

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/a1e85d5186146a53bd624aa9642f51d9.png)

5 再次查看状态(此时发现是clean,什么状态的都没有了)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/41b06d00f52f39d5b36681a1fb4af1cd.png)

6 这两个文件中新添加的内容都没了

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/a370b5a15a1deabee555e293779fd538.png)

先来演示soft选项

前面部分略

1 执行 reset,回滚到第一个版本

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/fc1c65b52e38f2304d76f209c5218e70.png)

2 此时暂存区和文件中的内容都还在

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/69dc1a095d7b3d61645f6b9f38eee320.png)

3 查看当前所处的版本,已经回到了第一个版本,其他的版本都没了

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/9c879cf18be9dfe16f3930329531f09a.png)

4.5 对比文件的不同

对比工作区和某个版本中文件的不同:

(1) 继续编辑文件code.txt,在其中添加一行内容。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/e5f736f400318148a93ceabadc4a10fb.png)

(2) 现在要对比工作区中code.txt和上个版本中code.txt的不同。使用如下命令:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/1a5ec4f8e3e0b2d76e150bfc7fae92de.png)

我们也可以和版本库中的第二个版本做比对

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/e0a7de42a8b74086425df0e2f1ebddd3.png)

对比两个版本间文件的不同:

(1) 现在要对比HEAD和HEAD^版本中code.txt的不同,使用如下命令:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/3ed628ef52b772b3e19fef0b79259c63.png)

4.6 删除文件

(1) 我们把目录中的code2.txt删除。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/6ad4029784e757af1f86d3196beaec1b.png)

这个时候,git知道删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻提示哪些文件被删除了。

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/f4bd59749d6c6686506a782cfbfef7b6.png)

(2) 现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/50be31433c697f5f0b37eca1a304442c.png)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/11ebc5ed25d427c4c956f2bc92b2aa83.png)

![img](file:///C:/Users/sy/Documents/My Knowledge/temp/fc8918e9-6218-4de1-ae60-6e01447f1ea3/128/index_files/10747f8023cf258fd8bd1b157e2fc920.png)

另一种情况是删错了,可以直接使用git checkout - code2.txt,这样文件code2.txt又回来了。

小结:

  • 命令git rm用于删除一个文件。
  • 如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
版本 文件 命令 存区 内容 工作 工作区 系统 目录 控制 控制系统 方式 状态 就是 代码 不同 一行 时候 服务器 服务 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 互联网科技公司 互联网科技公司简介 科技互联网项目 中资互联网科技 猪兼强互联网科技 云电互联网科技 苏州互联网科技贷款公司 长亮科技 互联网金融 北京华百购互联网科技有限公司 中化能源互联网科技招聘 银川新华互联网科技学校联系电话 深圳市罗太互联网科技有限公司 厦门江牛科技互联网 35岁以上互联网科技行业 互联网科技包装股 九思连强互联网电子科技有限公司 互联网科技博主张洲 陕西彩京云互联网科技有限公司 现代互联网科技公司 麻工互联网科技 互联网科技与金融科技 天下捷融互联网科技 互联网科技股午盘股票涨跌 杭州壁岐互联网科技有限公司 山东大美朱楼互联网科技有限公司 互联网高科技行业有哪些企业 上海万顺科技互联网有限公司招聘 互联网金融运营模式中的金融科技 宁波允成互联网科技有限公司
0