一、Git的安装

在Git官网下载安装驱动,如果官网下载慢的话可以访问淘宝镜像网站-git,然后选择最新版本,根据自己的需要下载对应操作系统的git。

安装好之后,在左下角win菜单中可以看到
git

Git Bash:Uninx 与 Linux 风格的命令,使用最多,推荐最多
Git CMD:Windows 风格的命令
Git GUI:图形界面的 Git

二、Git 的配置

1、查看配置

  • 查看所有配置 git config -l
    查看git配置
  • 查看系统配置 git config --system --list
    查看git系统配置
  • 查看当前用户配置 git config --global --list
    查看当前用户配置

2、做必要的配置
说明:git 的环境变量是自动配置好了的,即安装好以后就已经有了 git 的相关环境变量。

  • Git 的相关配置文件都是保存在本地:

    • 1)D:Gitetcgitconfig :Git 安装目录下的 gitconfig(System系统级的配置)
      System级的配置
    • 2)C:Userstianfei.gitconfig :只适用于当前登录用户的配置(global 全局)
      注意: 如果该目录下没有 该配置文件,说明还未进行相关配置,执行完下一步的配置即可。

    global全局配置

    同时这里可以直接编辑配置文件保存即可,也通过命令设置后也会响应到这里。

  • 配置 用户名 和 邮箱
    git config --global user.name "Herz"

    git config --global user.email "835991342@qq.com"
    配置用户名和邮箱

    设置完后再次查看 global 全局配置文件
    设置后的global全局配置

三、Git的工作原理

1、工作区域

Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository 或 Git Directory)。如果再加上远程的 git 仓库(Remote Directory)就可以分为四个工作区域。

文件在四个工作区域之间的转换关系如下:
Git 的四个工作区的关系

  • Working Directory:工作区,就是我们平时存放项目代码的地方
  • Index/Stage:暂存区,用于临时存放我们的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  • Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有我们提交的所有版本的数据。其中 HEAD 指向最新放入仓库的版本
  • Remote Directory:远程仓库,托管代码的服务器

2、工作流程

git 的一般工作流程如下:
1)在工作目录中添加、修改文件;
2)将需要进行版本管理的文件放入暂存区域;(命令 get add .
3)将暂存区的文件提交到 git 本地仓库。(命令 git commit

因此,git 管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
git的工作流程

四、Git项目的搭建

创建工作目录与常用指令
工作目录(WorkSpace)一般就是你希望 Git 帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。

日常使用只需要记住下图6个命令:
Git的常用指令

本地仓库搭建

创建本地仓库的方式有两种:一种是创建全新的仓库,另一种是克隆远程仓库。

1、创建全新的仓库

需要用 Git 管理的项目的根目录执行:

git init

执行之后可以看到,仅仅在该项目的根目录多出了一个 .git目录,关于版本等的所有信息都在这个目录里面。
创建全新的仓库

2、克隆远程仓库

将远程服务器上的仓库完全镜像一份到本地。
执行git clone [url](这里的 url 以 gitee 为例:找到想要下载的代码,然后点击 克隆/下载,再点击复制即可获得相应的url 地址。)
复制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、将在码云中新建的远程仓库中得文件克隆到本地仓库
克隆的url
远程克隆到本地仓库
2、创建或者打开一个项目目录,将克隆到本地仓库中得内容复制到打开的项目录中
复制到项目中
3、使用 idea 打开该项目,可以看到有关 Git 的按钮显示即为集成 Git 操作成功。
使用Idea集成git
4、将当前项目添加(或者更改)到暂存区中(此时,本地仓库的文件夹中还不存在该项目文件)
添加或更改项目到暂存区
5、将 Stage 暂存区中的文件提交到本地仓库(这里码云的远程仓库中还未存在该项目的文件)
commit提交
成功commit提交

6、push 到码云中的远程仓库
push到远程仓库

注意:这里如果没有配置SSH公钥的话,需要输入用户名和密码,即为码云账户的用户名和密码。

成功 push 到远程仓库。
成功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]
最后修改:2021 年 09 月 23 日 09 : 23 AM
如果觉得我的文章对你有用,请随意赞赏