git

156 阅读4分钟

Git 基础概念

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

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

如何在黑窗口弹出计算器?

按win键+R键,弹出命令框在里面输入cmd,然后在黑窗口里面输入指令calc

image.png

git配置用户信息

image.png

image.png

list查找所有文件

$git config --global --list 查找全局配置

image.png

如何创建git文件

新建一个文件夹,在里面点击右键弹出黑窗口,在黑窗口里面输入指令git  init

image.png

检查文件的状态

在黑窗口里面输入git  status  -s

image.png

如何将文件添加到暂存区

先在黑窗口输入git  add  .  然后再输入git  status  -s

git  add  .	所有文件添加到暂存区   
git  status  -s	查看所有文件状态

下面index.css    index.html    index.js  三个显示绿色表示已经提交到暂存区

image.png

如何将文件添加到本地仓库

先在黑窗口输入git  commit  -m  "本地仓库"添加到本地仓库, 然后再输入git  status 查看文件状态
 git  commit  -m  "XXXX"	暂存区文件添加到本地仓库 

image.png

修改后版本提交

image.png

查看提交日历

 git  log	查看提交日历

image.png

版本切换 git reset --hard ID

image.png

忽略文件

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

在文件夹中创建.gitignore文件夹

image.png

在.gitignore文件夹中输入demmo.html以及test/就可以忽略文件以及忽略文件夹,再用git status -s查看文件,就无法查看到,如下图所示

image.png

glob 模式

 所谓的 glob 模式是指简化了的正则表达式:
 星号 * 匹配零个或多个任意字符
 [abc] 匹配任何一个列在方括号中的字符 (此案例匹配一个 a 或匹配一个 b 或匹配一个 c)
 问号 ? 只匹配一个任意字符
 在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 09 的数字)
 两个星号 ** 表示匹配任意中间目录(比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等)

.gitignore 文件的例子

image.png

分支的概念

分支必须基于提交,如果没有提交就无法查看分支
master 主分支
在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个 master 分支叫做主分支。

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

功能分支

由于程序员不能直接在 master 分支上进行功能的开发,所以就有了功能分支的概念。

功能分支指的是专门用来开发新功能的分支,它是临时从 master 主分支上分叉出来的,当新功能开发且测试完毕后,最终需要合并到 master 主分支上

image.png

创建新分支

git  branch  XXX	创建分支(根据主分支创建)

image.png

切换分支

git  checkout  XXX	切换分支
注意:    切换分支前必须先提交代码 

image.png

分支的快速创建和切换

image.png

合并分支

 合并分支注意事项:先查看有无分支git  branch ,如果没有先要创建并切换分支git  checkout  -b  login,然后在css,js,html添加内容并提交到暂存区git  add  . 将暂存文件添加到本地仓库git  commit  -m  "项目初始化"  并切换到master分支git  checkout  master 然后合并创建的分支git  merge  login	

image.png

合并冲突

 同一时间造两个分支,a提交一次b提交一次,就会产生冲突
  如何解决冲突:`git add .` 和 `git commit -m '

image.png

image.png

image.png