git的使用知识点总结(二)

来源:互联网 发布:php set timezone 编辑:程序博客网 时间:2024/04/30 01:16

编辑器和构建环境经常会在源码文件周围遗留一些临时文件,可能是我们不需要的,要让git忽略目录中的这些文件,我们只需要将该文件添加到一个特殊的文件名为 .gitignore中。Git允许版本库任何目录下有 .gitignore。

$ touch main.o$ git status$ echo main.o > .gitignore$ git status$ cat .gitignore

上面的四个操作分别是

  1. 手动创建一个文件,里面没有任何的内容,在此时,我们当做它是一个我们不需要的文件,需要git忽略它
  2. 这里的第二步是为了让我们更清楚的看到这个文件时如何被忽略的
  3. 利用echo将文件main.o导入到.gitignore文件中
  4. 利用git status 查看我们是否可以查询到文件main.o,结果显示了一个新的未追踪的文件(已追踪的文件是指已经存在在版本库或者已暂存的文件)。
  5. 利用cat .gitingore可以知道此目录下有什么文件。

如何知道在暂存情况下的文件的序列码呢?利用以下的代码:

$ git ls-files --stage

怎么知道我们创建的文件*index.html中的内容*呢?利用cat:

$ cat index.html

一次性提交所有的文件我们可以利用git commit -a 或者git commit –all选项,会执行提交之前自动暂存、所有为暂存的和未追踪的文件的变化。但是全新的文件及其中所有的文件还是不会成为提交的一部分。

$ git commit --all

注意:如果不通过命令行提供日志消息,git会自动启动vim编辑器,并提示你写一个。


3.移除文件git rm
它会在版本库和缓存区同时删除文件!但是不会删除该文件在版本库中的历史记录。文件的任何版本,只要是提交到了版本库中,就会留有历史记录

$ touch hi.txt$ add hi.txt$ git status$ git rm --cached hi.txt$ git status

步骤解说:

  1. 创建文件
  2. 将hi.txt加入到缓存区,如果没有这步,直接使用git rm hi.txt,结果会是fatal: pathspec ‘hi.txt’ did not match any files。因为git rm只对添加到版本库或者是缓存区的文件起作用!所以这一步是为了让Git认识文件。
  3. 更加清晰的知道文件是否被移除。
  4. 移除文件,使它从已暂存转化为未暂存,git rm –cached hi.txt是指针对这个文件。而如果只用git rm会将它彻底删除,不留余地!
  5. 查看结果

    ** 简而言之,
    当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用git rm –cached!
    当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用 git rm! **


4.移动文件或者对其进行重命名git mv
先给定一个版本库,其中又一个文件名叫stuff,要重新为它命名为newstuff,有两个方法(这个文件已经被认识):

方法一:

$ mv stuff newstuff$ rm stuff$ git add newstuff

方法二:

$ git mv stuff newstuff

结果都一样。

0 0
原创粉丝点击