git学习笔记(八)--git的基本操作
前面几天学习了git的一些操作,包括初始化,添加,提交,重置,恢复等等,现在学习其他一些操作~
1.删除文件:
(1)直接从本地删除--rm *.*:
在这种方式下,实际上文件并没有删除,只是从工作区中消失,在暂存区中仍然存在,用git ls-files 可以查看暂存区内容。如果已经直接从本地删除,则有两种选择:
① 使用git checkout -- filename 恢复
② 使用 git add -u 快速标记删除,这样在暂存区的内容已经打上了删除标记,下次提交后就被删除掉。

如上图这个D标记
(2)使用git rm来删除文件:

可以看到,和刚才效果相同
2. 恢复删除的文件:
文件在rm后就不存在工作区中了,下次提交后被删除。但只是说明这次提交以后不存在,但之前的历史版本中还是存在的,可以提取该文件。
git show HEAD~1:text2.txt > text2.txt //git show等价于git cat-file -p,从HEAD指向的提交的父提交中取已经删除的内容,重定向
git add -A // -A选项表示把当前工作区的所有改动全部提交,无论是删除,添加,改名还是别的什么
git commit -m "" //提交之后,文件就再次回来了
3.移动文件:
git mv 文件名 新文件名
4. 忽略文件:
在工作区中,可能会存在一些临时文件或者其他文件,不需要添加到版本库中,但是又不能立即删除,每次查看状态,都显示的是??
可以对这些文件进行设置,使得git忽略它们,各安其事,互不打扰
在.git所在目录下创建文件夹.gitignore(注意是隐藏文件夹),把不需要使用的文件或目录名称添加进去,即可

上图中,第一次git st时,有文件ignore_file存在,下面vi了一下.gitignore文件夹,再次git st后,就没有ignore_file了,最后ll查看,可以看出该目录下仍有ignore_file存在,但git已经忽略
(1)文件.gitignore可以放在任何目录下,其工作范围是所在目录及其子目录,当然放在最顶层目录其效力最大
(2)如果不小心忽略错了文件,查看方法
git status --ignored -s //添加--ingored才能显示被忽略文件
git add -f 被忽略文件 //添加-f选项才能强行把该文件添加
(3)忽略只对未被跟踪的文件生效,已经加入版本库的文件无效
(4)本地独享式忽略文件:
使用.gitignore文件的方式设置是共享的,别人拿到这个版本库后,其设置的忽略文件依然生效。
若要自己定义忽略文件,可以由两种方式:
① 针对具体版本库:在.git/info/exclude下面设置
② 针对全局:
先定义一个文件夹 git config --global core.excludesfile 文件夹绝对路径
再向其中添加文件即可
(5)关于忽略的一些语法:
*.a //忽略所有以.a为扩展名的文件
! lib.a //在所有以.a为扩展名的文件中,lib.a不忽略
/TODO //忽略此目录下的TODO文件,子目录TODO不忽略
bulid/ //忽略所有build下的目录和文件
浙公网安备 33010602011771号