首页 > 其他分享 >git checkout命令详解 git checkout feature/test123

git checkout命令详解 git checkout feature/test123

时间:2022-11-01 10:23:08浏览次数:60  
标签:git 代码 Shell test123 文本 checkout 分支

git checkout命令详解 git checkout feature/test123 //切换到feature/test123分支 保证当前分支没有修改提交,否则回提示error: Your local changes to the following files would be overwritten by checkout:

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

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

若是想要了git checkout命令全部功能,能够阅读帮助文档:spa

 

[Shell] 纯文本查看 复制代码翻译

13d

$ git checkout --helpcode

一.命令概述:htm

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

因为本人英文水平有限(良心话)不能理解它的含义,固然这也不是咱们所深究的重点。教程

做用综述以下:ci

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

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

此命令整体功能大体上述两条,固然因为参数的不一样,功能在细节上会有所不一样。

二.切换或者新建分支:

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

 

[Shell] 纯文本查看 复制代码

1

$ git branch

代码运行效果截图以下:

a:3:{s:3:\"pic\";s:43:\"portal/201807/16/002406pvkz0yaekvihvzlk.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

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

 

[Shell] 纯文本查看 复制代码

1

$ git checkout master

代码运行效果截图以下:

a:3:{s:3:\"pic\";s:43:\"portal/201807/16/002619ol2zppw2k0o66ek4.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

能够看到如今已经切换到master分支。

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

 

[Shell] 纯文本查看 复制代码

1

$ git branch newBr

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

a:3:{s:3:\"pic\";s:43:\"portal/201807/16/002727vy8edhkc26cwvc22.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

咱们也能够在新建分支的同时切换到此分支:

 

[Shell] 纯文本查看 复制代码

1

$ git checkout -b newBr2

代码运行效果截图以下:

a:3:{s:3:\"pic\";s:43:\"portal/201807/16/003043biaoaj7hg3ah1sss.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

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

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

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

当前工做区readme.txt文件的内容以下:

 

[HTML] 纯文本查看 复制代码

1

2

3

蚂蚁部落一

蚂蚁部落二

蚂蚁部落三

下面再添加一行:

 

[HTML] 纯文本查看 复制代码

1

2

3

4

蚂蚁部落一

蚂蚁部落二

蚂蚁部落三

蚂蚁部落四

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

 

[Shell] 纯文本查看 复制代码

1

$ git add readme.txt

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

 

[HTML] 纯文本查看 复制代码

1

2

3

4

5

蚂蚁部落一

蚂蚁部落二

蚂蚁部落三

蚂蚁部落四

蚂蚁部落五

如今后悔了,想要将暂存区内容恢复到工做区,代码以下:

 

[Shell] 纯文本查看 复制代码

1

$ git checkout readme.txt

以上代码能够将暂存区中的readme.txt文件还原到工做区,若是要还原多个文件,那么使用空格分隔:

 

[Shell] 纯文本查看 复制代码

1

$ git checkout readme.txt antzone.txt

若是要还原全部文件,checkout后面跟点便可(.):

 

[Shell] 纯文本查看 复制代码

1

$ git checkout .

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

 

[Shell] 纯文本查看 复制代码

1

$ git checkout -- readme.txt

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

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

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

 

[HTML] 纯文本查看 复制代码

1

2

3

4

蚂蚁部落一

蚂蚁部落二

蚂蚁部落三

蚂蚁部落四

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

 

[Shell] 纯文本查看 复制代码

1

$ git log --oneline

运行效果截图以下:

a:3:{s:3:\"pic\";s:43:\"portal/201807/16/003531aybs4gmlebecm7bm.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

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

 

[Shell] 纯文本查看 复制代码

1

$ git checkout 6c89271 -- readme.txt

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

 

[HTML] 纯文本查看 复制代码

1

蚂蚁部落一

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

 

[Shell] 纯文本查看 复制代码

1

$ git checkout HEAD^^ -- readme.txt

咱们也能够将其余分支的指定提交内容还原到当前分支工做区,首先作一下说明:

 

[Shell] 纯文本查看 复制代码

1

$ git checkout master

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

 

[Shell] 纯文本查看 复制代码

1

$ git checkout Develop -- readme.txt

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

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

 

[HTML] 纯文本查看 复制代码

1

2

3

蚂蚁部落一

蚂蚁部落二

蚂蚁部落三

如今咱们用Develop分支的指定commit提交的文件来覆盖master分支工做区:

 

[Shell] 纯文本查看 复制代码

1

$ git checkout Develop -- readme.txt

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

http://www.javashuo.com/article/p-pcbqdgsg-cb.html

标签:git,代码,Shell,test123,文本,checkout,分支
From: https://www.cnblogs.com/sunny3158/p/16846816.html

相关文章

  • TortoiseGit的 git token密码登录
    1.点击个人设置2.设置生成Token  3.选择Token登陆,输入生成后的Token即可 ......
  • gitlab-ce搭建和数据迁移
    2022年11月1日08:26:03centos7国内地址:注意对应的系统版本,下一个最新版本https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/因为数据导入导出使用的是gitlab......
  • git提交指定文件 git add git commit git stash pop
    git提交指定文件gitaddgitcommitgitstashpopgit提交指定文件,如果此时修改了其他代码,可先提交指定代码,然后忽略不想提交的代码,最后push之后,恢复之前忽略的代码......
  • Git 配置
    git配置SSHGit是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置。github的SSH配置如下:一、设置Git的username和email:$gitconfig......
  • [vscode] 如何在终端添加git bash?
    设置-搜索"terminal.integrated.profiles.windows"将以下内容复制进入,注意要修改gitbash实际路径{"terminal.integrated.profiles.windows":{"PowerShell":......
  • git的介绍和使用
    git介绍什么是gitgit是一种版本控制器-控制的对象是开发的项目代码什么是版本控制器完成协同开发项目,帮助程序员整合代码 i)帮助开发者合并开发的代码 ii)如果出现......
  • GIT入门与Gitee的使用
    一:Git是什么?Git是目前世界上最先进的分布式版本控制系统。工作原理/流程: Workspace:工作区Index/Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库(比如Githu......
  • Go开发 之 Go如何引用github包
    Go如何引用github包​​Linux上如何引用​​​​如果定义了环境变量​​​​进入正题​​​​①、创建引用目录​​​​②、拷贝源码​​​​③、引用​​​​Windows上如何......
  • Git
    Git一、两种方式通过命令窗口本地和远程建立两种方式:remote......本地创建文件夹,gitclonehttps://gitee.com/XXX本地进行文件编写,编写成功后提交gi......
  • git pull提示当前branch没有跟踪信息 There is no tracking information for the cur
    gitpull提示当前branch没有跟踪信息Thereisnotrackinginformationforthecurrentbranch使用第二种方法,设置本地repository和远程repository关联在执行git......