新建工程文件夹project,cd project 转到project根目录
git init //初始化仓库
git status //查看project目录下所有文件的状态 文件名红色表示未被跟踪
git status -s //简写形式 如果显示双问号表示未被跟踪,A表示进入暂存区,红色M表示文件已被修改,没有更新到暂存区。绿色M表示文件已被修改,并更新到暂存区。
git add index.html //跟踪index.html,添加到暂存区
clear //清屏
git commit -m "提交了index.html" //提交至git仓库并附带信息
本地已经没有可追踪的文件了。
对已经提交的文件进行修改:
对index.html进行修改。再查看文件状态如下:M表示文件已修改,没有更新到git仓库。
再运行git add index.html即可放到暂存区。M变成红色。
撤销文件修改:谨慎操作,危险系数高
git checkout -- index.html
撤销的本质就是让git仓库中的代码覆盖本地的代码。
向暂存区一次性添加多个文件:
git add .
向暂存区移除文件:
git reset HEAD index.html
移除暂存区所有文件:
git reset HEAD .
跳过使用暂存区域:
工作区---> 暂存区-->Git仓库
git commit -a -m "描述消息"
从Git仓库里移除文件:有两种方式
1.从Git仓库和工作区中同时移除对应的文件
git rm -f index.js
2.只从Git仓库中移除文件,保留工作区当中对应的文件
git rm --cached index.css
忽略文件:
一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。在这种情况下,我们可以创建一个名为 .gitignore 的配置文件,列出要忽略的文件的匹配模式。
- 以 # 开头的是注释
- 以 / 结尾的是目录
- 以 / 开头防止递归
- 以 ! 开头表示取反
- 可以使用 glob 模式进行文件和文件夹的匹配(glob 指简化了的正则表达式)
所谓的 glob 模式是指简化了的正则表达式:
① 星号 * 匹配零个或多个任意字符
② [abc] 匹配任何一个列在方括号中的字符 (此案例匹配一个 a 或匹配一个 b 或匹配一个c)
③ 问号 ? 只匹配一个任意字符
④ 在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)
⑤ 两个星号 ** 表示匹配任意中间目录(比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等)
.gitignore文件举例: