git 入门教程之删除文件

作者: 雪之梦技术驿站 | 来源:发表于2019-03-17 10:42 被阅读3次

删除文件

回忆一下文件的常见操作,新增文件,修改文件,删除文件等,新增和修改文件都单独讨论过,现在我们来研究一下如何删除文件.

你可能会说删除文件还不简单啊,直接 rm -rf <file> 即可,但是这仅仅是本地文件被删除了,对于 git 来说,文件并没有被删除.

还记得我们开篇介绍git 时就说过,一切操作皆版本 ,对于新增是一个版本,修改也是一个版本,就连删除都是一个版本.

下面让我们看一下 git 中如何删除文件吧!

背景

# 查看当前文件列表
$ ls
file1.txt   file2.txt   file3.txt   newFile.txt test.txt
# 新建待删除文件
$ touch delete.txt
# 再次查看当前文件列表,确保新建文件成功
$ ls
delete.txt  file2.txt   newFile.txt
file1.txt   file3.txt   test.txt
# 查看当前文件状态: 新文件 `delete.txt` 还没被跟踪
$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    .DS_Store
    delete.txt

nothing added to commit but untracked files present (use "git add" to track)
# 添加新文件 `delete.txt`
$ git add delete.txt
# 查看文件状态: 已添加到暂存区,待提交到版本库
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   delete.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    .DS_Store

# 提交新文件 `delete.txt`
$ git commit -m "add delete.txt"
[master 7df386a] add delete.txt
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 delete.txt
# 再次查看文件状态: 已经没有新文件 `delete.txt` 的更改信息
$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    .DS_Store

nothing added to commit but untracked files present (use "git add" to track)
$ 

以上操作,我们简单创建 delete.txt 文件,添加(git add)并提交(git commit) 该文件,完成准备工作后,开始删除文件!

# 删除前文件列表
$ ls
delete.txt  file2.txt   newFile.txt
file1.txt   file3.txt   test.txt
# 删除刚刚创建的文件 `delete.txt`
$ rm delete.txt
# 删除后文件列表
$ ls
file1.txt   file2.txt   file3.txt   newFile.txt test.txt
# 当前文件状态: `delete.txt` 文件已被删除,且未添加到暂存区
$ 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:    delete.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    .DS_Store

no changes added to commit (use "git add" and/or "git commit -a")
$ 

本地删除 delete.txt 文件后,再次查看文件状态 git status 发现 git 给了我们两条建议,其中一条 git checkout -- <file> 我们很熟悉,就是丢弃工作区的更改,此时此景下如果丢弃删除操作,相当于撤销删除,难怪说删除也是一个版本呢!

现在我们重点来看第一条建议 git add/rm <file> ,rmremove 单词的缩写,即删除文件.

# 删除文件
$ git rm delete.txt
rm 'delete.txt'
# 查看文件状态: `delete.txt` 文件待提交
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    deleted:    delete.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    .DS_Store

# 提交文件
$ git commit -m "remove delete.txt"
[master 6298070] remove delete.txt
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 delete.txt
# 再次查看文件状态
$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    .DS_Store

nothing added to commit but untracked files present (use "git add" to track)
$ 

删除文件和添加文件类似,都是一次commit ,本地文件的任何更改都要添加到暂存区,然后提交到版本库.

小结

删除文件和新增文件类似逻辑,git rm 删除文件后,依然需要 git commit 提交版本.

相关文章

  • git 本地忽略某些个文件

    git本地忽略文件 git删除仓库文件,本地不删除

  • copy 新项目

    删除之前git文件 通过命令行删除 隐藏文件 .git 文件 rm -rf ./.git Git 代码版本控制 1...

  • git 命令补充

    删除文件的方法 git rm 文件名同时删除文件夹和文档库中文件。 删除文件夹中文件,执行git add - A,...

  • git 入门教程之删除文件

    删除文件 回忆一下文件的常见操作,新增文件,修改文件,删除文件等,新增和修改文件都单独讨论过,现在我们来研究一下如...

  • iOS git提交代码

    git status //可以看到我们删除的哪些文件 git add .//删除之后的文件提交git管理。 gi...

  • 删除文件

    删除不需要的文件 一、删除工作区或版本库文件 1. git rm --- 删除指定文件2. git ...

  • rm & git rm & git rm --cached的区别

    rm 删除文件,但是没有将其懂git的记录中删除 git rm 同时从工作区和索引中删除文件,即本地的文件也被删除...

  • Mac 常用命令

    (1).find命令查找.git文件夹,并且删除.git文件夹 (2).find命令查找.html文件,并且删除(...

  • 删除指定文件夹下的文件

    1.删除制定文件夹下.git指定文件 find . -name ".git" | xargs rm -Rf2.删除...

  • git文件提交命令

    简易的命令行入门教程:Git 全局设置: 创建 git 仓库: 下载远程文件 已有项目?

网友评论

    本文标题:git 入门教程之删除文件

    本文链接:https://www.haomeiwen.com/subject/bqwymqtx.html