➢使用 Git 管理的项目,拥有三个区域,分别是工作区、暂存区、Git 仓库
8、Git 中的三种状态
已修改、已暂存、已提交
➢工作区的文件被修改了,但还没有放到暂存区,就是已修改状态。
➢如果文件已修改并放入暂存区,就属于已暂存状态。
➢如果 Git 仓库中保存着特定版本的文件,就属于已提交状态。
9、工作区中文件的 4 种状态
二、git配置指令
1、配置用户信息
➢git config --global user.name “xxx”
➢git config --global user.email “xxx@xxx.cn”
➢如果使用了 --global 选项,那么该命令只需要运行一次,即可永久生效。
2、检查配置信息
➢查看所有的全局配置项
git config --list --global
➢查看指定的全局配置项
git config user.name
git config user.email
3、获取帮助信息
➢打开git config 命令的帮助手册
git help config
➢获取git config 命令的快速参考
git config -h
4、在现有目录中初始化仓库
命令语法::git init
➢git init 命令会创建一个名为 .git 的隐藏目录,这个 .git 目录就是当前项目的 Git 仓库,里面包含了初始的必要文件,这些文件是 Git 仓库的必要组成部分
5、检查文件的状态
命令语法: git status
➢使用 git status 命令查看文件处于什么状态
命令语法:git status -s / git status --short
➢以精简的方式显示文件状态
➢两条完全等价的命令,其中 -s 是 --short 的简写形式
6、跟踪新文件//提交暂存区命令
命令语法: git add 文件名
➢可以用它开始跟踪新文件
➢把已跟踪的、且已修改的文件放到暂存区
➢把有冲突的文件标记为已解决状态
➢修改过的、没有放入暂存区的文件前面有红色的 M 标记。
命令语法:git add .
➢一次性将所有的新增和修改过的文件加入暂存区:
7、提交更新//提交到仓库命令
命令语法: git commit -m “日志信息”
➢其中 -m 选项后面是本次的提交消息,用来对提交的内容做进一步的描述、
➢可以将暂存区中记录的快照,提交到 Git 仓库中进行保存
8、撤销对文件的修改
命令语法:git checkout – 文件名
➢撤销对文件的修改,把对工作区中对应文件的修改,还原成 Git 仓库中所保存的版本
➢操作的结果:所有的修改会丢失,且无法恢复!危险性比较高,请慎重操作!
➢撤销操作的本质:用 Git 仓库中保存的文件,覆盖工作区中指定的文件
9、取消暂存的文件
命令语法:git reset HEAD 要移出文件的名称
➢撤销指定的未提交的修改内容,例如:撤销暂存区的文件
10、跳过使用暂存区域
命令语法:git commit -a -m “日志”
➢Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤:git commit -a -m “日志”
11、移除文件
我们可以创建一个名为 .gitignore 的配置文件
➢以 # 开头的是注释、以 / 结尾的是目录、以 / 开头防止递归、以 ! 开头表示取反
➢星号 * 匹配零个或多个任意字符
➢ [abc] 匹配任何一个列在方括号中的字符 (此案例匹配一个 a 或匹配一个 b 或匹配一个 c)
➢问号 ? 只匹配一个任意字符
➢两个星号 ** 表示匹配任意中间目录(比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等)
12、查看提交历史
命令语法:git log
13、回退到指定的版本
二、开源项目托管平台
1、源项目托管平台主要有以下 3 个:
➢Github(全球最牛的开源项目托管平台,没有之一)
➢ Gitlab(对代码私有性支持较好,因此企业用户较多)
➢Gitee(又叫做码云,是国产的开源项目托管平台。访问速度快、纯中文界面、使用友好)
2、远程仓库的两种访问方式
HTTPS:零配置;但是每次访问仓库时,需要重复输入 Github 的账号和密码才能访问成功
SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需重复输入 Github 的账号和密码
注意:在实际开发中,推荐使用 SSH 的方式访问远程仓库。
3、基于 HTTPS 将本地仓库上传到 Github
命令语法:
git remote add origin 远程仓库地址
git push origin master
第二次提交代码只需要命令行运行 git push
4、SSH key
SH key 的作用:实现本地仓库和 Github 之间免登录的加密数据传输。
SSH key 的好处:免登录身份认证、数据加密传输。
SSH key 由两部分组成,分别是:
➢ id_rsa(私钥文件,存放于客户端的电脑中即可)
➢ id_rsa.pub(公钥文件,需要配置到 Github 中)
配置SSH key步骤:
➢打开 Git Bash
➢粘贴如下的命令,并将 your_email@example.com 替换为注册 Github 账号时填写的邮箱:
➢ssh-keygen -t rsa -b 4096 -C “注册 Github 账号时填写的邮箱”
➢连续敲击 3 次回车,即可在 C:\Users\用户名文件夹.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件
➢使用记事本打开 id_rsa.pub 文件,复制里面的文本内容
➢在浏览器中登录 Github,点击头像 -> Settings -> SSH and GPG Keys -> New SSH key
➢将 id_rsa.pub 文件中的内容,粘贴到 Key 对应的文本框中
➢在 Title 文本框中任意填写一个名称,来标识这个 Key 从何而来
检测SSH key 是否配置成功
输入命令 ssh -T git@托管平台.com
例如ssh -T git@github.com
5、基于 SSH 将本地仓库上传到 Github
6、将远程仓库克隆到本地
git clone 远程仓库的地址
7、分支
➢在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做master 的分支。通常我们把这个master 分支叫做主分支。
➢在实际工作中,master 主分支的作用是:用来保存和记录整个项目已完成的功能代码。
➢因此,不允许程序员直接在 master 分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃。
8、功能分支
➢功能分支指的是专门用来开发新功能的分支,它是临时从 master 主分支上分叉出来的,当新功能开发且测试,完毕后,最终需要合并到 master 主分支上。