一、获取Git仓库的两种方式
- 将尚未进行版本控制的
本地目录转换为Git仓库
- 从其它服务器
克隆
一个已存在的Git仓库- 以上两种方式都能够在自己的电脑上得到一个可用的
Git仓库
二、获取本地仓库
(一)可以通过图形界面创建
- 要使用Git对我们的代码进行版本控制,首先需要获得
本地仓库
- 在电脑的任意位置创建一个
空目录
,作为我们的本地Git仓库- 进入这个目录中,点击右键打开
Git bash
窗口- 执行命令
git init
- 如果创建成功后可在文件夹下看到
隐藏的.git目录
(二)命令的形式创建
可以通过linux命令进行操作
ls/ll
查看当前目录cat
查看文件内容touch
创建文件vi
vi编辑器mkdir
创建目录cd
切换目录
三、git状态的切换
- Git工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git的命令而发生变化。
四、git的基本命令
(一)查看修改的状态(status
)
工作区中的每一个文件可能有 4 种状态
未跟踪(Untracked)
:不被Git所管理的文件未修改(Unmodified)
:工作区中文件的内容和Git仓库中文件的内容保持一致
已修改(Modified)
:工作区中文件的内容和Git仓库中文件的内容不一致
已暂存(Staged)
:工作区中被修改的文件已被放到暂存区,准备将修改后的文件保存到Git仓库中- Git 操作的
终极结果
:让工作区中的文件都处于未修改
的状态。
注意:以下只是为了看工作区显示的状态
1、未跟踪(Untracked / ??)
2、未修改(Unmodified)
3、已修改(Modified / M)
修改的文件再次提交
4、已暂存(Staged / A)
(二)添加工作区到暂存区(add)
- 作用:添加工作区一个或多个文件的修改到暂存区
- 命令形式:
git add 单个文件名|通配符
- 将所有修改加入暂存区:
git add .
(三)提交暂存区到本地仓库(commit)
- 作用:提交暂存区内容到本地仓库的当前分支
- 命令形式:
git commit -m '注释内容
(四)查看提交日志(log)
- 作用:
查看提交记录
- 命令形式:
git log [option]
1.all
: 显示所有分支
2.pretty=oneline
: 将提交信息显示为一行
3.abbrev-commit
: 使得输出的commitId更简短
4.graph
: 以图的形式显示
(五)跳过使用暂存区域
- Git 标准的工作流程是
工作区 → 暂存区 → Git 仓库
,但有时候这么做略显繁琐- 可以跳过暂存区,直接将工作区中的修改提交到Git仓库,Git工作的流程简化为了
工作区 → Git 仓库
- Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过
git add
步骤- 命令:
git commit -a -m "描述信息"
- 不知道为什么,我没有提交成功,百度后暂时也没有找到解决的方法
(六)移除文件
- 从Git仓库和工作区中
同时移除
对应的文件- 只从Git仓库中移除指定的文件,但
保留
工作区中对应的文件
(七)忽略文件
- 一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 在这种情况下,我们可以创建一个名为
.gitignore
的配置文件,列出要忽略的文件的匹配模式。
🤣1、文件 .gitignore 的格式规范如下
- 以
# 开头
的是注释- 以
/ 结尾
的是目录- 以
/ 开头
防止递归- 以
! 开头
表示取反- 可以使用
glob 模式
进行文件和文件夹的匹配(glob 指简化了的正则表达式)
🤣2、所谓的 glob 模式是指简化了的正则表达式:
- 星号 * 匹配
零个或多个任意字符
- [abc] 匹配
任何一个列在方括号中的字符
(此案例匹配一个 a 或匹配一个 b 或匹配一个 c)- 问号 ?
只匹配一个任意字符
- 在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有0 到 9 的数字)
- 两个星号 ** 表示
匹配任意中间目录
(比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z等)
🤣3、.gitignore文件的例子
(八)回退到指定的版本
(九)总结
- 初始化 Git 仓库的命令 :
git init
- 查看文件状态的命令:
git status 或 git status -s
- 一次性将文件加入暂存区的命令:
git add .
- 将暂存区的文件提交到 Git 仓库的命令:
git commit -m "提交消息"