当前位置:首页 > 编程技术 > 正文内容

git checkout 命令详解

yc8881年前 (2022-12-17)编程技术198

1. 前言


git checkout 命令用于创建、切换分支或恢复工作树文件。

最常用的两种用法

  1. # 切换分支
  2. git checkout <branch>
  3. # 创建并切换到新分支
  4. git checkout -b <branch>

2. 创建分支


当我们需要以当前分支为起点创建一个新的分支时,主要会用到以下两个命令

  1. # 创建分支
  2. git branch <branch>
  3. # 切换到新分支
  4. git checkout <branch>

-b 创建并切换到新分支 (上面两个命令的合集)

  1. git checkout -b <branch>

-B 重置分支(删除已存在的分支且重新创建,分支不存在也不会报错)

  1. git checkout -B <branch>

基于远程库分支创建分支

  1. # 语法格式
  2. git checkout -b <new-branch> origin/<old-branch>
  3. # 使用示例: 以远程库中的 liang 分支为起点,在本地创建一个 dev 分支
  4. git checkout -b dev origin/liang

基于指定标签创建分支

  1. # 切换到标签对应的提交记录
  2. git checkout <tagname>
  3. # 创建并切换到新分支
  4. git checkout -b <branch>

基于指定 commit id 创建分支

  1. # 切换到指定提交记录
  2. git checkout <commit id>
  3. # 创建并切换到新分支
  4. git checkout -b <branch>

3. 切换分支


使用 checkout 切换分支时,先从本地库查找分支,在本地库没找到时,就去远程库中查找,在远程库也没有找到就会报错

  1. # 切换分支
  2. git checkout <branch>
  3. # 查找顺序
  4. 本地分支 --> 远程分支 --> 提示分支不存在

切换分支后的提示信息

当我们切换到 master 分支后,出现这个提示说明: 本地分支和上游分支的最新提交记录是同一个

  1. # 您的分支 “origin/master” 是最新的
  2. Your branch is up to date with 'origin/master'.

将一个远程仓库中的分支 liang 签出到本地时的提示

  1. # 本地库中的分支 liang 的上游分支是远程仓库中的分支 liang
  2. Branch 'liang' set up to track remote branch 'liang' from 'origin'.
  3. # 切换到了一个新的分支 liang
  4. Switched to a new branch 'liang'

当本地库有了新的提交记录

  1. # 本地分支比远程分支多了一次提交记录
  2. # 可以使用 git push 将本地的提交记录推送到远程库
  3. Your branch is ahead of 'origin/liang' by 1 commit.
  4. (use "git push" to publish your local commits)

-q, --quiet 不显示任何提示信息,如下图所示

  1. git checkout -q liang

4. 撤销更改


用于让工作区中的文件回到最近一次 git addgit commit 的状态

  1. # 让工作区中的所有文件撤销更改
  2. git checkout -- .
  3. # 让工作区中的某些文件撤销更改
  4. git checkout -- <file1> <file2>

场景一、本地库中已有 user.txt,在工作区修改了该文件,但是没有提交到暂存区,此时撤销更改是从版本库中恢复内容

场景二、本地库中已有 user.txt,在工作区修改了该文件,并且已提交到暂存区,此时撤销更改是从暂存区中恢复内容

本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/10236.html

标签: git
分享给朋友:

“git checkout 命令详解” 的相关文章

【说站】laravel实现自定义404页面并给页面传值

【说站】laravel实现自定义404页面并给页面传值

以 laravel5.8 为例,虽然有自带的404页面,但太简单,我们更希望能自定义404页面,将用户留在站点。实现的方式很简单,将自定义的视图文件命名为 404.blade.php,并放到 reso...

【说站】Thymeleaf报错Error resolving template “XXX”

【说站】Thymeleaf报错Error resolving template “XXX”

修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”可能原因有如下三种:第一种可能:原因:在使用springboot的过程中,如果使用thymeleaf...

【说站】用一句话就可以去除宝塔面板操作上的二次验证

【说站】用一句话就可以去除宝塔面板操作上的二次验证

用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

这篇文章主要介绍了详解Centos8 配置静态IP的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来学习一下!1. 查看自己的网关地址点击虚...

【说站】利用Webhook实现Java项目自动化部署

【说站】利用Webhook实现Java项目自动化部署

用webhook就能实现Java项目自动部署,其实原理很简单。费话不多说,直接往下看教程。1. 创建gitee仓库并初始化2. 在linux安装git3. 在宝塔的软件的商店里下载Webhook4....

【说站】linux中redis如何以redis用户重启?

【说站】linux中redis如何以redis用户重启?

通过上图我们可以看到,目前状态是已经以 redis 用户启动着,我想修改下 redis 的密码,然后怎么以 redis 用户重启呢?redis 是 nologin 用户,不能通过 su redis 切...