Git常用操作之获取Git仓库与文件的忽略

270 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 N 天,点击查看活动详情

获取Git仓库

获取仓库前的准备

使用仓库前,git得先安装,安装完成后应该对用户信息进行配置。【此处操作应该查看本专栏中 配置Git 文章中的配置用户信息标题中的内容以及该标题前的内容。若是不想研究其原理,可以直接照着这部分内容做,不必看对于命令的具体的讲解。】

获取方式

  • 将本地目录转为Git仓库
  • 从服务器克隆一个已存在的Git仓库

本地目录转为Git仓库

  1. 先cd到要进行转换的目录,该目录要为没有进行过版本控制的项目目录。
  2. 执行git init命令,该命令会创建一个名称为.git的子目录,该子目录含有 初始化的 Git 仓库中所有的必须文件。
  3. 到目前为止,该目录已经变成一个仓库,接下来若是想要将当前目录中的内容加入到仓库,则要将要放入仓库的文件进行追踪,然后提交。其中追踪使用git add 指定文件命令,提交使用git commit -m '提交信息'

克隆现有的仓库

使用git clone 仓库链接语句可以从服务器中克隆一个git仓库到你的工作区。当你执行该命令的时候,git会拉取默认配置下远程 Git 仓库中的每一个文件的每一个版本。

在拉取时,git会在当前目录下【假如是test】创建一个.git文件夹,远程仓库的所有数据将会拷贝到该文件夹中,之后从拷贝的数据中读取最新版本的文件,并将这些文件放在当前的目录【test】下。

git clone拷贝到当前目录的文件应该为一个文件夹,若是我们想给这个文件夹起别名,可以在使用这个命令的时候,在命令最后面添加上别名git clone 链接 别名

文件的忽略

若是想要git忽略某些文件可以使用.gitignore文件,在该文件中列出要忽略文件的模式。

.gitignore文件中:

  • #是单行注释的符号。
  • 正则表达式使用的是glob模式,他会递归地应用在工作区中【就是子目录也会执行】。
  • 若是以/开头,那么该条正则将不会递归执行
  • 若是以/结尾,指定一个目录。该目录中的文件全会被忽略
  • 模式前加!表示取反。

所谓的 glob 模式是指 shell 所使用的简化了的正则表达式:

星号(*)匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中的字符 (这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c); 问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。 使用两个星号(**)表示匹配任意中间目录:比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等。

.gitignore文件可以在项目中的任意目录中出现,出现的该目录和子目录就会按照该文件的规则进行递归忽略。而且若是.gitignore文件为未跟踪文件时,在进行追踪时也会发生作用。

【注意: a/b.txt并不会忽略掉a子目录下的b.txt文件,a/**/b.txt才会。】

句末语

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 N 天,点击查看活动详情