当前位置:首页 > 站长教程 > 建站经验 > Git教程 > git checkout 命令_Git教程

git checkout 命令_Git教程

时间:2019-10-26人气:253来源:Downzz我要评论(0)

在实际应用中,git checkout是最为常见命令之一。

此命令参数众多,功能多样,但有些功能可能整个职业生涯都不会用到,所以本文只介绍最为实用的部分。

如果想要了git checkout命令所有功能,可以阅读帮助文档:

$ git checkout --help

一.命令概述:

众多教程将此命令翻译成"检出",比如检出某分支。

由于本人英文水平有限(良心话)不能理解它的含义,当然这也不是我们所深究的重点。

作用综述如下:

(1).切换或者新建分支。

(2).将暂存区或者指定commit内容覆盖到工作区。

此命令总体功能大致上述两条,当然由于参数的不同,功能在细节上会有所不同。

二.切换或者新建分支:

首先查看一下当前项目的分支:

$ git branch

代码运行效果截图如下:


当前位于Develop分支,下面切换到master分支:

$ git checkout master

代码运行效果截图如下:


可以看到现在已经切换到master分支。

默认状态下,新建分支并不能自动切换到此新分支下,代码如下:

$ git branch newBr

新建newBr分支,但默认不会切换到此分支,图示如下:


我们也可以在新建分支的同时切换到此分支:

$ git checkout -b newBr2

代码运行效果截图如下:


上述代码实现新建newBr2分支,并切换到此分支。

三.用暂存区或者指定commit提交内容覆盖工作区内容:

(1).用暂存区内容覆盖工作区内容:

当前工作区readme.txt文件的内容如下:

Downzz.com一
Downzz.com二
Downzz.com三

下面再添加一行:

Downzz.com一
Downzz.com二
Downzz.com三
Downzz.com四

将其提交到暂存区,代码如下:

$ git add readme.txt

再给工作区readme.txt文件添加一行:

Downzz.com一
Downzz.com二
Downzz.com三
Downzz.com四
Downzz.com五

现在后悔了,想要将暂存区内容恢复到工作区,代码如下:

$ git checkout readme.txt

以上代码可以将暂存区中的readme.txt文件还原到工作区,如果要还原多个文件,那么使用空格分隔:

$ git checkout readme.txt antzone.txt

如果要还原所有文件,checkout后面跟点即可(.):

$ git checkout .

特别说明:如果checkout后面是文件名称,以下写法更为稳妥:

$ git checkout -- readme.txt

文件名称前面有两个横杠,并且中间采用空格分隔(否则报错)。此种方式可以防止Git出现误判,加入暂存区有一个文件名为ant(没有后缀名),恰好当前项目也有有个名为ant的分支,这个时候Git会优先将ant当做分支处理,于是就有可能导致错误。

(2).用指定commit提交的内容覆盖工作区:

当前工作区readme.txt文档的内容是:

Downzz.com一
Downzz.com二
Downzz.com三
Downzz.com四

再来看一下提交历史,代码如下:

$ git log --oneline

运行效果截图如下:


下面用c1提交的内容进行覆盖,代码如下:

$ git checkout 6c89271 -- readme.txt

代码运行后,工作区readme.txt文档内容变为:

Downzz.com一

checkout后面的参数没必要非要是sha-1值,只要能够唯一标识指定提交即可,也可以采用如下形式:

$ git checkout HEAD^^ -- readme.txt

我们也可以将其他分支的指定提交内容还原到当前分支工作区,首先做一下说明:

$ git checkout master

checkout后面仅仅跟着分支名称,那么它的功能是切换分支。

$ git checkout Develop -- readme.txt

如果分支后面跟着文件路径,那么就是将对应分支中的文件还原到当前分支的工作区。

下面举个例子,当前我们在master分支,readme.txt文档内容为:

Downzz.com一
Downzz.com二
Downzz.com三

现在我们用Develop分支的指定commit提交的文件来覆盖master分支工作区:

$ git checkout Develop -- readme.txt

双横杠(--)后面加不加空格的区别可以参阅git双横杠和单横杠区别一章节。

温馨提示:以上内容和图片整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!如有侵权行为请联系删除!

相关文章

  • 正则提取车牌最后一位数字_正则实例

    车牌的最后一位之所以特殊,是因为经常利用它制定一些规则。比如北京这种车辆保有量大的城市,会使用最后一位数字指定规则限行。下面分享一段正则代码,实现了匹配车牌最后一位数字的功能。代码如下:/\d(?!.*\d)/代码简单分析如下:(1).\d
  • 匹配商品条形码正则表达式代码_正则实例

    商品条形码具体是什么东西没有研究过。通过谷歌或者百度能够找到关于它的详细介绍。但是国内的条形码基本规则如下:(1).总共13位数字。(2).前两位数字规定是69。正则表达式代码如下:/^69\d{11}$/比较简单不多介绍,更多内容参阅如下

网友评论

请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!

最新评论

还没有收到评论,赶紧来抢沙发吧~

关于站长下载 | 联系方式 | 发展历程 | 版权声明 | 下载帮助(?) | 广告联系 | 网站地图 | 友情链接

Copyright 2005-2019 Downzz.Com 【站长下载】 版权所有 浙ICP备17005543号 | 浙公网安备 42011102000245号工信部

声明: 本站部分内容属于原创转载请注明出处 如有侵权行为请严格参照本站【版权声明】与我们联系,我们将在48小时内容进行处理!