Git的详细使用| 青训营笔记

75 阅读7分钟

这是我参与「第四届青训营 」笔记创作活动的第6天

前言:

  在项目开始之前,我们就应该需要了解如何去使用Git,以及如何使用Git去创建分支、合并分支等等。要想实现项目的团队化管理,增强团队的协作能力,Git必不可少,本文也将介绍关于Git的一些知识以及Git指令使用。

一、Git介绍

1、分布式版本控制系统

典型代表:Git
特点:1. 基于服务器、客户端的运行模式
2. 服务器保存文件的所有更新版本
3. 客户端是服务器的完整备份,并不是只保留文件的最新版本

优点:1. 联网运行,支持多人协作开发
2. 客户端断网后支持离线本地提交版本更新
3. 服务器故障或损坏后,可使用任何一个客户端的备份进行恢复

2、什么是Git?

  Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。
  特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性!

3、Git的特性

  1. 直接记录快照,而非差异比较
  2. 近乎所有操作都是本地执行

4、Git的三个区域

  使用 Git 管理的项目,拥有三个区域,分别是工作区、暂存区、Git 仓库。

5、Git的三种状态

  1. 已修改: 表示修改了文件,但还没将修改的结果放到暂存区
  2. 已暂存: 表示对已修改文件的当前版本做了标记,使之包含在下次提交的列表中
  3. 已提交: 表示文件已经安全地保存在本地的 Git 仓库中

6、Git的工作流程

  1. 在工作区中修改文件
  2. 将你想要下次提交的更改进行暂存
  3. 提交更新,找到暂存区的文件,将快照永久性存储到 Git 仓库

二、Git基础

1、安装并配置Git

  1. 下载Git:下载地址
  2. 配置用户信息
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

注意: 如果使用了global选项,那么该命令只需要运行一次,即可永久生效。
配置的用户名和邮箱地址,会被写入到 C:/Users/用户名文件夹/.gitconfig文件中。这个文件是 Git 的全局配置文件,配置一次即可永久生效。
3. 检查配置信息

//查看所有的全局配置项
git config --list --global
//查看指定的全局配置项
git config user.name
git config user.email
  1. 获取帮助信息
//获取git config命令的快速参考
git config -h
//打开git config 命令的帮助手册
git help config

2、Git的基本操作

  1. 获取 Git 仓库的两种方式
  • 将尚未进行版本控制的本地目录转换为 Git 仓库
  • 从其它服务器克隆一个已存在的 Git 仓库
  1. 在现有目录中初始化仓库
  • 在项目目录中,打开git bash
  • 执行 git init 命令将当前的目录转化为 Git 仓库
    git init 命令会创建一个名为 .git 的隐藏目录,这个 .git 目录就是当前项目的 Git 仓库,里面包含了初始的必要文件,这些文件是 Git 仓库的必要组成部分
  1. 工作区中文件的四种状态
    直接看图:

图片.png 4. 检查文件的状态

git status
  1. 以精简的方式显示文件状态
git status -short
//简写
git status -s
  1. 跟踪新文件
git add xxx
//例如:
git add index.html
  1. 提交更新
git commit -m "提交的信息"
  1. 向暂存区中一次性添加多个文件
git add .
  1. 取消暂存的文件
git reset HEAD 文件名称

三、Git分支

1、Git分支介绍

  在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目功能的开发。在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个 master 分支叫做主分支。在实际工作中,master 主分支的作用是:用来保存和记录整个项目已完成的功能代码。因此,不允许程序员直接在 master 分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃。由于程序员不能直接在 master 分支上进行功能的开发,所以需要从master分支上切出一个分支即功能分支,当新功能开发且测试完毕后,最终需要合并到 master 主分支上。

2、本地分支操作

  1. 查看分支列表 git branch
  2. 创建新分支 git branch 分支名称
  3. 切换分支 git checkout login
  4. 创建并切换到新分支上 git checkout -b 分支名称
  5. 合并分支
//首先切换到master分支
git checkout master
//如何在master分支上执行下列指令,将login分支的代码合并到master分支上
git merge login
  1. 删除分支 git branch -d 分支名称
  2. 遇到冲突时合并
//首先打开含冲突的文件,手动解决冲突之后,再执行下列命令
git add .
git commit -m "解决了冲突"

3、远程分支操作

  1. 将本地分支推送到远程仓库
//-u表示把本地分支和远程分支进行关联,只在第一次推送的时候需要带-u参数
git push -u远程仓库的别名本地分支名称:远程分支名称

//实际案例:
git push -u origin payment: pay

//如果希望远程分支的名称和本地分支名称保持一致,可以对命令进行简化:
git push -u origin payment

注意:第一次推送分支需要带 -u 参数,此后可以直接使用 git push 推送代码到远程分支。 2. 查看远程仓库中所有的分支列表

git remote show 远程仓库名称
  1. 跟踪分支
    跟踪分支指的是:从远程仓库中,把远程分支下载到本地仓库中。需要运行的命令如下:
// 从远程仓库中,把对应的远程分支下载到本地仓库,保持本地分支和远程分支名称相同
git checkout远程分支的名称

//示例:
git checkout pay

//从远程仓库中,把对应的远程分支下载到本地仓库,并把下载的本地分支进行重命名
git checkout -b 本地分支名称远程仓库名称/远程分支名称

//示例:
git checkout -b payment origin/pay
  1. 拉取远程分支的最新的代码
//从远程仓库,拉取当前分支最新的代码,保持当前分支的代码和远程分支代码一致
git pull
  1. 删除远程分支
//删除远程仓库中,指定名称的远程分支
git push 远程仓库名称--delete远程分支名称

#示例:
git push origin --delete pay

四、总结

1、常用指令

Git的基本指令中的常用指令:git initgit add .git commit –m "提交消息"git statusgit status -s
Git的分支指令中的常用指令:git checkout -b 新分支名称git push -u origin 新分支名称git checkout 分支名称git branch

2、其他

  1. 在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。
  2. 工作区的文件被修改了,但还没有放到暂存区,就是已修改状态。如果文件已修改并放入暂存区,就属于已暂存状态。 如果 Git 仓库中保存着特定版本的文件,就属于已提交状态。