简单了解git,了解git基本操作

107 阅读5分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

git

git简介

Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。

特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性!

下载地址:git-scm.com/downloads

git配置用户信息

安装完 Git 之后,要做的第一件事就是设置自己的用户名和邮件地址。因为通过 Git 对项目进行版本管理的时候,Git 需要使用这些基本信息,来记录是谁对项目进行了操作:

window+R打开cmd,然后可以输入

git config --global user.name "用户名"

git config --global user:email "邮箱"

查看所有配置项:git config --list --global

git中文件的三种状态

  1. 已修改(modified)

    表示修改了文件,但还没将修改的结果放到暂存区

  2. 已暂存 (staged)

    表示对已修改文件的当前版本做了标记,使之包含在下次提交的列表中

  3. 已提交(committed)

    表示文件已经安全地保存在本地的 Git 仓库中

文件状态

工作区的文件被修改了,但还没有放到暂存区,就是已修改状态。

如果文件已修改并放入暂存区,就属于已暂存状态。

如果 Git 仓库中保存着特定版本的文件,就属于已提交状态。

git的工作流程

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

git的基本操作

获取git仓库

  1. 将尚未进行版本控制的本地目录转换为 Git 仓库

    在项目目录,鼠标右键 Git Bash Here打开git的命令行

    输入git指令 : git init 这样就将当前项目转化为git仓库了

  2. 从其它服务器克隆一个已存在的 Git 仓库

    输入指令 git clone url(项目服务器地址)

工作区文件的四种状态

在工作区中,多了一种状态是未跟踪(Untracked) ,未跟踪是不被git管理的文件,被管理也就是被跟踪的文件就是上述git的三种状态:1.未修改2.已修改3.已暂存

常用git命令

git仓库初始化(在当前目录创建git仓库) :git init

检查文件状态 : git status

跟踪新文件: git add 文件名 (被跟踪的文件将处于暂存状态)

使用git add . 可以一次性将所有的新增和修改过的文件加入暂存区

提交更新: git commit -m "更新信息" 将暂存状态的文件提交到git仓库,提示信息是对本次提交内 容做出补充

忽略文件

一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 在这种情况下,我们可以创建一个名为 .gitignore 的配置文件,列出要忽略的文件的匹配模式。

文件 .gitignore 的格式规范如下:

  1. 以 # 开头的是注释
  1. 以 / 结尾的是目录
  1. 以 / 开头防止递归
  2. 以 ! 开头表示取反
  1. 可以使用 glob 模式进行文件和文件夹的匹配(glob 指简化了的正则表达式)

所谓的 glob 模式是指简化了的正则表达式:

① **星号 *** 匹配零个或多个任意字符

[abc] 匹配任何一个列在方括号中的字符 (此案例匹配一个 a 或匹配一个 b 或匹配一 个 c)

问号 ? 只匹配一个任意字符

④ 在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配 (比如 [0-9] 表示匹配所有 0 到 9 的数字)

两个星号 **** 表示匹配任意中间目录(比如 a//z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等)

1660398518978.png

本地分支操作

分支

分支就是当前项目的一个副本,开发人员可以在不同的分支开发不同的模块

主分支master

在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个 master 分支叫做主分支

master 主分支的作用是:用来保存和记录整个项目已完成的功能代码

当分支功能都开发并且测试完毕后,最终都需要合并在master上

分支操作

查看当前git仓库中所有分支 git branch

创建新分支 git branch 分支名

切换分支 git checkout 分支名

创建新分支并且切换到该分支上 git checkout -b 分支名

在当前合并另一个分支 git marge 被合并的分支名 (被合并的分支的代码会被复制到当前分支上)

合并冲突l合并分支冲突情况很多,实际工作应该避免。如下为冲突情况之一:

  1. 同时创建两个分支
  1. 两个分支分别提交
  1. 两个分支修改同一个文件代码
  1. 任何一个分支合并给另一个分支,即出现合并冲突

出现合并冲突后应和另一个分支的开发者沟通决定如何处理