上期我们介绍了如何在本地创建自己的空白git仓。小问题:回顾一下用的什么命令?
答案: git init
接上期,git项目除了可以本地创建空白的之外,还可以在服务器等远程仓库里复制一个到本地电脑。
一、复制远程仓库
远程仓库复制到本地非常简单,也只需要在目标位置右键调出git bash,输入命令git clone (目标仓库链接) 即可:
例如我们在D盘里创建一个项目文件夹,再把远程的开源项目复制到本地:
我们选择某当红程序培训团队的gitee开源项目。点击右上角的克隆/下载即可看到链接复制选项。
在D盘创建目标文件夹,右键打开git bash
输入复制命令 git clone 链接
回车运行,等待下载完毕即可
至此,git项目创建和复制已经学习完毕
二、Git文件操作
1、文件状态
以下是文件的4种状态:
1)Untracked:未跟踪,此文件在文件夹中但是没有加入自己的git库,不参与git提供给我们的版本控制。可以通过命令git add
转变该状态为staged
2)Unmodify:文件已经入库,但没有修改,版本库中的文件与文件夹中的完全一致。这种类型的文件若被修改,则变为Modified,若使用git rm
命令则变为Untracked状态。
3)Modified:文件已修改。
4)Staged:暂存状态。放在文件暂存区里,可以通过git commit 把文件添加到git仓库中。
2、忽略文件
有些文件我们不希望加入到git的版本管理当中。这个时候我们可以灵活使用gitignore文件,将一些文件剔除在git的管理之外。
关于.gitignore有以下规则:
1)自动忽略换行
2)可以使用Linux的通配符,例如*
表示任意多个字符,?
表示单个字符
3)同一些编程语言,感叹号!表示否,加在某些文件前面表示这个文件不在ignor范围内。例如:
*.txt !123.txt
就表示忽略所有后缀名是txt的文件,但是不忽略123.txt文件
4)/ 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
5)/ 开始的模式匹配项目跟目录。
示例
bin/: 忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件 /bin: 忽略根目录下的bin文件 /*.c: 忽略 cat.c,不忽略 build/cat.c debug/*.obj: 忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tools/debug/io.obj **/foo: 忽略/foo, a/foo, a/b/foo等 a/**/b: 忽略a/b, a/x/b, a/x/y/b等 !/bin/run.sh: 不忽略 bin 目录下的 run.sh 文件 *.log: 忽略所有 .log 文件 config.php: 忽略当前路径的 config.php 文件 复制代码
以上示例来自Git忽略文件.gitignore详解_ThinkWon的博客-CSDN博客_忽略gitignore本身