[TOC]
git的是一个流行和最常用的代码版本管理工具,它可以很方便的帮我们管理代码(记录代码版本信息,回滚代码版本等)和方便项团队协作。
主要分为两种使用方式
该方式主要是通过 在 shell 窗口中,输入git相关的命令来实现功能




下载好后,直接双击安装即可

在你电脑的空白位置,鼠标右键,如果出现以下提示,表示安装成功


mac直接打开终端 ,即可使用
ctrl + c 、 ctrl + v ,可以通过鼠标右键来操作

clear 表示清空控制台
q 表示退出
git --version 一台电脑,只需要初始化信息一次,告诉git,我们的用户名和邮箱
查看用户名
git config --global user.name 查看邮箱
git config --global user.email 设置用户名
git config --global user.name "xxx" 设置邮箱
git config --global user.email git主要是通过仓库来管理我们的项目代码


模拟真实工作情况,可以在目录内 新建一些文件,简单编辑

可以随时通过 查看仓库状态,来获知下一步的操作步骤

当你仓库内的文件发生修改时(新增、编辑、删除),都需要添加到暂存区
git add . 此时,再次查看仓库状态

文件存在暂存区还是不安全的,因为文件需要提交到本地仓库,才算是一个完整的操作,后期才可以实现版本回滚
提交到本地仓库有一个关键信息,需要备注这个版本你做了什么事,如 增加了倒计时功能、增加了轮播图效果。一定要有语义,否则不符合公司规范,是个很低级的错误。
git commit -m "首页增加了轮播图"只有做了提交操作,git仓库中才会存在日志信息。
git log 
如果做了版本回退,可以使用
git reflog git中,存在三个区域和对应的三种文件状态
git add .后,被编辑的文件就被添加到暂存区中git commit 后,暂存区中的文件就被添加到本地仓库了在git仓库中,文件只有三种状态

远程仓库其实就是本地仓库的一个备份,一般分类两类
实际工作中都会有项目组长提前完成

创建成功

实际工作中,项目组长会直接发给我们一个 远程仓库地址
我们现在自己 复制一下 刚才新建好的远程仓库地址

打开git 窗口,输入命令,进行克隆 (clone)
git clone https://gitee.com/ukSir/web007.git如果是私密仓库,则会弹出提示 要求填写你远程仓库(码云)的账号和密码。
本地仓库仓库的代码 推送到远程仓库
当我们克隆下来的仓库中的代码进行过编辑后
需要注意的是: 不要出现代码写了一半,没有提交代码就推送更新
git push 此时,刷新码云上的网页,即可看到你所上传的代码。

团队协作过程中,我们想要获取到远程仓库上别人推送上去的新代码,就可以使用 拉取更新
需要注意的是: 不要出现代码写了一半,没有提交代码就拉取更新
git pull 可以看到本地仓库中已经建立了的远程仓库的链接信息
git remote -v 
一个本地仓库,可以对应多个远程仓库地址,但是一般都是 1 对 1
git remote add 变量名 远程仓库地址如果延续上一个步骤,我们直接推送代码,会出现问题

此时要使用上个知识点,添加远程仓库地址
git remote add origin git@gitee.com:ukSir/web008.git然后指定仓库名称并且指定分支开始推送
git push --set-upstream origin master--set-upstream 表示将本地分支 master 推送到 远程仓库 master分支上
只要成功推送过一次后,后期又可以直接使用 git push 进行推送了
master 本地仓库中的默认分支
分为两种
git checkout . git reset . git reset --hard 可以实现代码时光穿梭,将你的代码还原到某一个版本
需要注意的是: 不要出现代码写了一半,就进行代码的回滚
先查看日志,获取版本ID
git log 
执行回滚
git reset --hard 版本IDgit在运作的时候都是基于分支的,分支可以理解为就是项目代码的一个备份
我们可以建立多个分支,分支的名称可以自定义。如
在git中,常见的分支功能主要有
查看分支
git branch 创建分支
git branch 分支名称切换分支
git checkout 分支名称创建并切换分支
git checkout -b 分支名称合并分支
把 dev分支合并到 master分支上 需要注意的是: 不要出现代码写了一半,就进行分支的合并
先切换回主分支
git checkout master然后再合并分支
git merge dev 删除分支
git branch -d 分支名称克隆指定远程仓库的某个分支
git clone -b 远程仓库上的分支名称 远程仓库地址克隆远程分支到本地某个分支上
git clone -b 远程仓库上的分支名称 远程仓库地址将本地某个分支推送到远程仓库对应的分支上
在本地仓库中先切换分支
开始推送
git push --set-upstream 本地仓库中记录的远程仓库的别名 分支名称GitFlow、GitHubFlow以及GitLabFlow
Git工作流中常见的三种分支策略:GitFlow、GitHubFlow以及GitLabFlow

冲突是一种现象:在git中进行文件的更新中或者合并中,如果发现同一时刻,同一位置进行了修改,那么就会出现冲突
一般来说,出现冲突的场景主要有以下两种:
如果两个分支,同一时刻修改了同一文件的同一位置,那么在做分支合并时,就会出现冲突。

手动修改要调整的代码,然后执行 git add 、 git commit 、 即可

手动修改要调整的代码,然后执行 git add 、 git commit 、 即可
企业开发中,我们提交commit的日志 格式也是有要求的,目前一般是参考 angular推出的规范。
git commit -m [type](scope):备注信息用来描述本次commit主要的用途
类型 | 说明 |
|---|---|
feature 简写: feat | 开发新功能 |
fix | 修复 bug |
docs | 仅修改了文档,如readme.md |
style | 仅仅是对格式进行修改,如逗号、缩进、空格等。不改变代码逻辑。 |
refactor | 代码重构,没有新增功能或修复bug |
perf | 优化相关,如提升性能、用户体验等。 |
test | 测试用例,包括单元测试、集成测试。 |
chore | 改变构建流程、或者增加依赖库、工具等。 |
revert | 版本回滚 |
示例:
git commit -m feat:实现登录用于说明 本次commit 影响的范围,比如: views, component, utils, test...
git commit -m feat(index.html):实现登录在git仓库中,可能存在一些文件不想要被git所管理,不需要进行团队共享。此时可以在忽略清单中添加忽略。
忽略清单的文件夹名是固定的,必须是 .gitignore, 然后在里面添加要被忽略掉文件即可
需要注意的是,一般情况下,在初始化git仓库的时候,忽略清单也应该同时创建
.gitignore
## 忽略 1.txt 文本
1.txt
## 忽略后缀名为 mp4 的文件
*.mp4
## 忽略文件夹
vscode/ 如果你的仓库是克隆远程仓库的,则不需要进行这一步操作


如果你的仓库是克隆远程仓库的,则不需要进行这一步操作





后期再推送




一些电脑系统在使用码云的时候,没有自动记录密码功能,就可能会出现频繁要求添加账号和密码的问题。 这个时候可以通过设置 ssh 来解决。