Git的配置与使用
一、Git的安装
在Git官网下载安装驱动,如果官网下载慢的话可以访问淘宝镜像网站-git,然后选择最新版本,根据自己的需要下载对应操作系统的git。
安装好之后,在左下角win菜单中可以看到
Git Bash:Uninx 与 Linux 风格的命令,使用最多,推荐最多
Git CMD:Windows 风格的命令
Git GUI:图形界面的 Git
二、Git 的配置
1、查看配置
-
查看所有配置
git config -l
-
查看系统配置
git config --system --list
-
查看当前用户配置
git config --global --list
2、做必要的配置
说明:git 的环境变量是自动配置好了的,即安装好以后就已经有了 git 的相关环境变量。
-
Git 的相关配置文件都是保存在本地:
-
1)D:\Git\etc\gitconfig:Git 安装目录下的 gitconfig(System系统级的配置)
-
2)C:\Users\tianfei.gitconfig :只适用于当前登录用户的配置(global 全局)
注意: 如果该目录下没有 该配置文件,说明还未进行相关配置,执行完下一步的配置即可。
同时这里可以直接编辑配置文件保存即可,也通过命令设置后也会响应到这里。
-
-
配置 用户名 和 邮箱
git config --global user.name "Herz"
git config --global user.email "835991342@qq.com"
设置完后再次查看 global 全局配置文件
三、Git的工作原理
1、工作区域
Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository 或 Git Directory)。如果再加上远程的 git 仓库(Remote Directory)就可以分为四个工作区域。
文件在四个工作区域之间的转换关系如下:
- Working Directory:工作区,就是我们平时存放项目代码的地方
- Index/Stage:暂存区,用于临时存放我们的改动,事实上它只是一个文件,保存即将提交到文件列表信息
- Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有我们提交的所有版本的数据。其中 HEAD 指向最新放入仓库的版本
- Remote Directory:远程仓库,托管代码的服务器
2、工作流程
git 的一般工作流程如下:
1)在工作目录中添加、修改文件;
2)将需要进行版本管理的文件放入暂存区域;(命令 get add .
)
3)将暂存区的文件提交到 git 本地仓库。(命令 git commit
)
因此,git 管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
四、Git项目的搭建
创建工作目录与常用指令
工作目录(WorkSpace)一般就是你希望 Git 帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。
日常使用只需要记住下图6个命令:
本地仓库搭建
创建本地仓库的方式有两种:一种是创建全新的仓库,另一种是克隆远程仓库。
1、创建全新的仓库
需要用 Git 管理的项目的根目录执行:
git init
执行之后可以看到,仅仅在该项目的根目录多出了一个 .git目录,关于版本等的所有信息都在这个目录里面。
2、克隆远程仓库
将远程服务器上的仓库完全镜像一份到本地。
执行git clone [url]
(这里的 url 以 gitee 为例:找到想要下载的代码,然后点击 克隆/下载,再点击复制即可获得相应的url 地址。)
执行克隆
git clone https://gitee.com/kuangstudy/kuang_livenote.git
五、Git 文件的操作
文件的四种状态
- Untracked:未跟踪,此文件在文件夹中,但没有加入 Git 库,不参与版本控制。通过
get add
命令将状态改为 Staged。 - Unmodify:文件已经入库,未修改,即本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,如果它被修改,而变为 modified ,如果使用
git rm
命令移出版本库,则成为 Untracked 文件。 - Modified:文件已修改,仅仅是修改,并没有进行其他操作,这个文件也有两个去处,一是通过
git add
命令进入缓存区变为 Staged 状态,二是使用git checkout
命令则丢弃修改,返回 Unmodify 状态(这个git checkout
即从库中取出文件,覆盖当前修改)。 - Staged:暂存状态,执行
git commit
命令则将修改同步到库中,这时库中得文件和本地文件又变为一致,文件状态为 Unmodify,执行git reset HEAD filename
命令取消暂存,文件状态为 Modified。
# 查看文件状态
git status [filename]
# 查看所有文件状态
git status
# 添加所有文件到暂存区
git add .
# 提交暂存区中得内容到本地仓库 -m 提交信息
# 这里的本地仓库即为第四大步创建的仓库
git commit -m "消息内容"
忽略文件
有时候不想把某些文件纳入版本控制中,比如数据库,临时文件,设计文件等。
文件忽略的实现与规则
在主目录下建立 .gitgnore 文件,此文件规则如下:
1、忽略文件中的空行或以井号(#)开头的行将会被忽略;
2、可以使用 Linux 通配符。如星号(*)代表多个字符,问号(?)代表一个字符,方括号([ a,b,c ])代表可选字符范围,大括号({string1,string2})代表可选的字符串等;
3、如果名称的最前面有一个感叹号(!),表示例外规则,将不会被忽略;
4、如果名称的最前面是一个路径分隔符(/)表示忽略在此目录下的文件,而子目录中得文件不忽略;
5、如果名称的最后面是一个路径分隔符(/)表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
*.txt # 忽略所有.txt结尾的文件
!lib.txt # 但 lib.txt 除外
/temp # 仅忽略项目根目录下的某文件,不包括子目录 temp
build/ # 忽略当前目录下 build 子目录中得所有
doc/*.txt # 会忽略 doc 目录下的所有 txt 文件,但是不会忽略 doc 子目录中得 txt 文件
六、码云的使用
码云的具体使用就不详细介绍了,这里主要是设置本机绑定SSH公钥,实现免密码登录,因为码云是远程仓库,每一次从本地仓库 push 到远程仓库时都需要输入密码。
1、生成SSH公钥
# 进入 C:\Users\tianfei\.ssh (即当前用户)目录 这里可以直接在该文件夹下右键点击 Git
# 生成公钥 -t 加密算法(码云推荐的是 rsa)
ssh-keygen -t rsa
执行生成公钥命令后,会在 .ssh 目录下生成两个文件(其中一个后缀名为 .pub 的文件即为我们所需要的公钥)
2、将公钥添加到码云账户中
具体步骤:
1、使用文本方式打开 后缀名为 .pub 的文件
2、将其中的内容复制粘贴到码云 SSH 公钥相关设置中
3、使用码云新建一个自己的远程仓库
七、IDEA中集成Git
1、将在码云中新建的远程仓库中得文件克隆到本地仓库
2、创建或者打开一个项目目录,将克隆到本地仓库中得内容复制到打开的项目录中
3、使用 idea 打开该项目,可以看到有关 Git 的按钮显示即为集成 Git 操作成功。
4、将当前项目添加(或者更改)到暂存区中(此时,本地仓库的文件夹中还不存在该项目文件)
5、将 Stage 暂存区中的文件提交到本地仓库(这里码云的远程仓库中还未存在该项目的文件)
6、push 到码云中的远程仓库
注意:这里如果没有配置SSH公钥的话,需要输入用户名和密码,即为码云账户的用户名和密码。
成功 push 到远程仓库。
八、补充:Git 的分支
# 列出所有本地分支
git branch
# 列出所有的远程分支
git branch -r
# 新建一个分支,注意:此时依然停留在当前分支
git branch [branch-name]
# 新建一个分支,并切换到该分支
git checkout -b [branch-name]
# 合并指定分支到当前分支
git merge [branch-name]
# 删除分支
git branch -d [branch-name]
# 删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch-name]