Git详细教程(七)删除文件

2018-01-14  本文已影响0人  无关风月oo

我们前面说过Git其实做的是管理并跟踪修改。

我们先看一下目前的工作区:

$ cd softdata/Git-reporsitory/
$ ls -ah
.       ..      .git        readme.txt

通常我们删除文件有两种方式:

$ rm readme.txt
$ ls -ah
.       ..      .git

你对文件的操作都会被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:    readme.txt

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

可以看到工作区的文件已被删除,但是现在有以下几种情况:

$ git rm readme.txt
rm 'readme.txt'

$ git commit -m "delete readme.txt"
[master 7e55805] delete readme.txt
 1 file changed, 1 deletion(-)
 delete mode 100644 readme.txt

好了,现在版本库里面的也删掉了。

-- 我们刚刚从版本库已经删除了该文件,为了演示我已使用之前我们在版本回退中学到的git reset --hard HEAD^ 恢复,现在继续回到前面说的那步:
$ rm readme.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)
-- 再次提示我们:可以使用git checkout -- <file> 来放弃对工作区的改变
    deleted:    readme.txt

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

$ git checkout -- readme.txt
$ ls
readme.txt

灵活运用前面学习过的知识很重要,这也说明我们必须打好每一步的基础,尽量每次学习后不要留下任何疑虑,如果有疑虑自己多看看前面学习过的知识,也查查其他相关但知识,多加实践与思考。

小结

1.git rm用于删除文件。

2.使用 git checkout -- <file> 来放弃对工作区文件的删除或修改;

3.如果你已经提交到了版本库,也没关系可以用git reset --hard HEAD 来恢复到最新版的文件。

上一篇 下一篇

猜你喜欢

热点阅读