Git学习

一、Git的基本操作

可以理解Git仓库就是管理了一系列提交动作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 初始化仓库,生成后的.git目录只会出现在工作根目录下,一般不要动手修改.git目录
git init
# 查看工作目标状态
git status
# 将文件进行版本控制,会进入暂存区
git add [文件名]
git add --all
# 提交到本地仓库首次执行此命令时会出现错误,email,name等信息不存在
git commit -m [message]
# 对上一次的提交进行修改,不会产生新的commit
git commit --amend
# 查看提交记录
git log
git log -all
git log -N
# 将提交的文件回退至Untracked
git reset HEAD a.txt
# 将暂存区的文件回退至Untracked
git rm --cached a.txt
# 创建git分支,早建分支,多用分支
git branch <name>
git branch --list
# 切换分支,*号表示所在的分支
git checkout <name>
# 将分支与分支合并
git merge <name>
git rebase <name>
# reset命令
git reset --soft HEAD
# 提交到远程仓库
git push --set-upstream https master
# 拉取远程仓库指定分支的代码
git clone -b 远程分支名 仓库地址

image-20211224142729230

三、远程仓库的交互和操作

四、常见的配置和别名alias用法

Git配置包含三个不同的作用域,为system,global,loacl,存储在不同的位置当中

system:”/etc/gitconfig”文件,作用于所有用户的git仓库

global:”~/.gitconfig”文件,作用于当前用户的所有git仓库

local:”.git/config”文件,仅作用于某个git仓库

如果local、global和system中拥有相同的配置项,则local的配置会优先生效,因为Git配置项的生效优先级采用就近原则,顺序依次为:local>global>system

1
2
3
4
5
6
7
8
9
10
11
12
# git全局配置
git clone xxx.git //ssh时
git config --global user.name "username"
git config --global user.email "email"
git config --global credential.helper store
# git局部配置
git clone http:xxx.git
git config user.name "username"
git config user.email "email"
git config credential.helper store
# 查看config配置
git config --list

五.git commit message Angular 规范

IDEA与GIT

1
git clone https://hiasia:www.123.com@gitee.com/hiasia/hiasia.git

六.工作中的Git Flow流程
在多组员,多项目等环境进行协同工作时,如果没有统一规范、统一流程,则会导致额外的工作量,甚至会做无用功。所以要减少版本冲突,减轻不必要的工作,就需要规范化的工作流程。

主要分支简述

天蓝色圆点所在的线为我们源码的主线(prod)。

天蓝色方形指向的节点就是每一个发布版本的标签(tag)。

紫色圆点所在的线为主要分支线(master)。测试分支(test)同主分支

橙色圆点所在的线为新功能开发分支线(feature)。

绿色圆点所在的线为新版本发布线(release).(未用到)

红色圆点所在的线为发布版本bug修复线(hotfix)。

原先直接在主分支上提交代码.只能靠提交记录寻找版本

新分支流程-主分支

  1. prod分支作为发布版本记录,不直接往prod提交代码