zoukankan      html  css  js  c++  java
  • git 签出(恢复)指定文件

    在项目开发中,偶尔会因为误删文件或其他原因需要从git仓库中恢复某些文件。此篇文章将介绍如何通过git从历史提交记录、分支记录恢复指定文件。

    1. git checkout

    说明:使用git checkout除了可以切换分支外,还可以签出指定文件。

    语法

    git checkout [<options>] [<branch>] -- <file>

    APIhttps://git-scm.com/docs/git-checkout

    注意:签出后的文件将会覆盖【工作目录】中的相同文件;若【工作目录】中的文件已删除,会创建签出的文件。

    2. 从当前分支签出指定文件

    背景:本地仓库有个a.txt文件,最近2次此文件的修改记录如下:

    2.1 从上一次提交中签出指定文件

    git checkout -- a.txt
    

    提示:运行上面的命令后,将签出上次提交时a.txt文件。

    2.2 从指定的提交历史中签出指定文件

    附加上commit id,将会签出指定提交记录中的文件:

    git checkout 830cf95f56ef9a7d6838f6894796dac8385643b7 -- a.txt
    

    3.从其他分支签出指定文件

    背景:一个仓库一般有一个master分支和其他多个brach。branch主要目的是为了某个功能开发,在开发期间 master 分支可能更新了核心模块,这时其他branch需要同步更新此模块。

    说明:只需要签出时指定分支名称。

    命令

    git checkout master -- a.txt
    

    4. 签出其他类型

    除了签出制定文件外,git还支持签出指定目录、制定后缀等等。

    4.1 签出某个后缀的文件

    说明:签出根目录下所有 txt 后缀的文件。

    命令

    git checkout -- *.txt
    

    4.2 签出指定目录

    说明:签出 css 目录。

    命令

    git checkout -- css/
    
  • 相关阅读:
    openstack-1基础环境准备
    ELK补充之Filebeat
    ELK补充之logstash
    ELK
    dubbo
    zokeeper+kafka
    rabbitmq
    jenkins补充-编写自动化脚本实现devops 流水线和回滚等操作
    sonar
    python连接数据库之(连接MySQL)
  • 原文地址:https://www.cnblogs.com/polk6/p/git-checkoutFile.html
Copyright © 2011-2022 走看看