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下的目录和文件

 

 

 

 

posted on 2012-07-24 20:36  melburg  阅读(153)  评论(0)    收藏  举报