七.如何从版本库中删除文件
第一种方式:直接在工作区删除文件,然后提交
rm ffile1.txt (注意:这个不是git命令,而是linux命令)
看到状态发现,文件file1.txt已经被删除,提示需要提交到暂存区。
因为我们只是删除了工作区的文件,并没有删除暂存区的文件,可以使用git ls -files这个命令来查看暂存区中的内容
可以看到暂存区中,file1.txt还是存在的。所以这里的 git add 命令就可以理解为 要告诉暂存区,删除file1.txt文件
第二种方式:git rm 这个命令
我们使用git rm file2.txt这个命令来删除file2.txt这个文件从工作区
然后我们会发现,file2.txt在暂存区也被删除了。
最后要提交: git commit -m " delete file1.txt and file2.txt"
八.git中特殊的文件.gitignore
ignore是忽略的意思,这个文件的作用也就是可以让我们忽略掉一些不应该被加入到版本库的文件
以上的代码,我创建了两个日志文件 access.log 和orther.log, 然后把access.log放入.gitignore文件中,提交发现暂存区中只剩下orther.log没有被添加。
使用 vi .gitignore 修改文件内容 *.log忽略所有的以log结尾的文件
可以发现日志文件的修改被忽略掉了。
这里需要注意:我们已经把orther.log加入到文件仓库,我们修改它会不会被git管理
可以发现.gitignore文件是对已经加入版本库的文件是没有作用的。
我们像删除版本库的orther.log文件,但是不想删除本地文件
git rm --cach other.log
这样我们在对orther.log在进行操作,是不会被git管理的。
template/ 忽略template文件夹
九.关于.gitignore这个文件的匹配规则
从上到下逐行匹配,每一行表示一个忽略模式
- 空行或者以#开头的行会被Git忽略。一般空行用于可读性的分隔,#一般用作注释
- 使用标准的Blob模式匹配,例如:
- 星号*通配任意个字符
- 问号?匹配单个字符
- 中括号[]表示匹配列表中的单个字符,比如:[abc] 表示a/b/c
- 两个星号 **表示匹配任意的中间目录
- 中括号可以使用短中线连接,比如:
- [0-9]表示任意一位数字,[a-z]表示任意一位小写字母
在github上存在很多的过滤文件模板,在新建仓库的时候可以使用,可以根据自己的需要修改