`
wangemperor
  • 浏览: 39808 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

github学习笔记(八)删除文件

 
阅读更多

在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交:

$ git add test.txt
$ git commit -m "add test.txt"
[master 94cdc44] add test.txt
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt

一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:

$ rm test.txt

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

$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       deleted:    test.txt
#
no changes added to commit (use "git add" and/or "git commit -a")

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

$ git rm test.txt
rm 'test.txt'
$ git commit -m "remove test.txt"
[master d17efd8] remove test.txt
 1 file changed, 1 deletion(-)
 delete mode 100644 test.txt

现在,文件就从版本库中被删除了。

另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

$ git checkout -- test.txt

git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

小结

命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容

分享到:
评论

相关推荐

    GitHub命令行笔记

    `git status`用于查看当前工作目录和暂存区的状态,了解哪些文件被修改、新增或删除。 10. **撤销更改(Revert Changes)**: 如果需要撤销未提交的更改,可使用`git reset --hard HEAD`;若要回退到某个提交,如...

    2018尚硅谷Git和GitHub视频教程

    - 删除文件后如何从暂存区恢复。 - **分支管理**: - 创建、合并、切换分支。 - 解决合并时产生的冲突。 - 使用`git merge`和`git rebase`进行分支合并。 - **Git的数据管理机制**: - 基于SHA1哈希算法对文件...

    两小时学会Git玩转Github-资料 零散笔记

    学习Git和Github,通常需要掌握以下知识点: 1. Git基础配置:用户在使用Git之前,需要进行全局配置,这包括设置用户名和电子邮件地址。这些信息会被记录在每次提交中。例如,可以通过命令`git config --global ...

    Git学习笔记.pdf

    Git工作流程中通常会涉及到版本库与文件操作,包括创建版本库、添加文件到仓库、查看仓库状态、提交修改、版本回退、撤销修改、删除文件等。创建版本库是在一个文件夹下执行git init命令,该命令会创建一个隐藏的....

    czbk公开课笔记git 两小时学会Git玩转Github.zip

    本压缩包文件“czbk公开课笔记git 两小时学会Git玩转Github.zip”包含了一份详细的Git学习指南,旨在帮助用户在短时间内掌握Git的基本操作,并能熟练运用Git与GitHub进行项目管理和协作。 Git是一个强大的工具,它...

    anhtuanpcipho:我的GitHub个人资料的配置文件

    至于"anhtuanpcipho-SQL_ver1"这个文件名,可能是某个与SQL相关的项目或者版本,这可能是一个数据库查询、学习笔记或者是某种SQL工具的配置。SQL(Structured Query Language)是用于管理关系数据库的标准语言,涵盖...

    Python学习笔记.zip

    这份“Python学习笔记”压缩包文件包含了一份详细的学习资源,旨在帮助初学者或有一定基础的学习者深入理解Python语言的核心概念和技术。 在Python的世界里,我们首先会接触到基础语法,如变量、数据类型(包括整型...

    git-lfs学习笔记

    为了有效管理这些文件,GitHub开发了LFS,并将它作为插件来使用。 LFS将大文件存储在一个HTTP服务器上,该服务器支持创建、读取、更新、删除(CRUD)API操作。在Git仓库中,大文件被替换为指针文件,指针文件包含了...

    git学习笔记,一看就会

    ### Git学习笔记——入门篇 #### 一、Git简介与安装 **Git**是一种分布式版本控制系统,用于跟踪计算机文件的变化,并协调多个用户之间的共享工作。它最初由Linus Torvalds于2005年创建,目的是为了更高效地管理...

    mygithub-cx.github.io:这是我的学习笔记

    标题 "mygithub-cx.github.io:这是我的学习笔记" 暗示这是一份个人学习资源的集合,可能是一个GitHub Pages站点的源代码,作者分享了他们在编程领域的知识,特别是围绕Python、Java、Linux和MySQL的学习笔记。...

    我的SVN学习笔记(原创)

    **我的SVN学习笔记(原创)** 在信息技术领域,版本控制系统是不可或缺的工具之一,它帮助开发者跟踪和管理代码的变化,使得多人协作变得有序而高效。Subversion(简称SVN)就是这样的一个开源版本控制系统,它允许...

    Notes:方方的学习笔记

    Github 学习笔记 汇总一下经常用的的commands,省了每次都去stack overflow了 # 笔记 Description Git,github 等等 1 不仅仅是readme,是所有.md文件 2 1. 删除已经push的commits 2.删除没有push的commits(TODO) ...

    git学习笔记

    ### Git学习笔记 #### 一、版本控制系统概览 **版本控制系统**是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。根据存储方式的不同,版本控制系统可以分为两大类: 1. **集中式版本...

    git-notes:Git和GitHub笔记

    4. 分支管理:`git branch`用于列出、创建或删除分支,`git checkout`切换分支或恢复工作目录文件,`git merge`用于合并分支。 5. 远程操作:`git remote add`关联远程仓库,`git push`将本地更改推送到远程仓库,`...

    ElasticSearch学习笔记1

    ElasticSearch学习笔记1 ElasticSearch 简介 ElasticSearch 是基于 Apache Lucene 构建的搜索引擎,使用 Java 编写,提供简单易用的 Restful API,容易横向扩展,支持 PB 级的结构化与非结构化数据处理。Elastic...

    java资源之Mybatis基础入门学习笔记

    【Mybatis基础入门学习笔记】 Mybatis是一款广泛使用的Java持久层框架,它的主要目标是简化对数据库的操作,提供更加灵活的SQL映射机制。Mybatis起源于Apache组织的ibatis框架,历经发展,在2010年迁移到Google ...

Global site tag (gtag.js) - Google Analytics