admin 管理员组

文章数量: 1087591

Git的配置与使用

  • 一、Git的安装
  • 二、Git 的配置
  • 三、Git的工作原理
  • 四、Git项目的搭建
    • 本地仓库搭建
      • 1、创建全新的仓库
      • 2、克隆远程仓库
  • 五、Git 文件的操作
    • 文件的四种状态
    • 忽略文件
      • 文件忽略的实现与规则
  • 六、码云的使用
    • 1、生成SSH公钥
    • 2、将公钥添加到码云账户中
    • 3、使用码云新建一个自己的远程仓库
  • 七、IDEA中集成Git
  • 八、补充: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"

    设置完后再次查看 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/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]

本文标签: Windows Git