Git总结

109 阅读4分钟

Git安装

进入网站git-scm.com/下载相应版本并安装,然后在cmd命令行配置

初始化Git

Git三个阶段

工作区(Working Directory)、暂存区(Staging Area)、git目录(git directory / Repository)

初次运行配置

// 通过如下命令查看所有配置及所在文件夹
git config --list --show-origin

配置用户信息

git config --global user.name '用户名'
git congif --global user.email '邮箱'

检查配置信息

// 查询git所有配置
git config --list
​
// 检查git某一项的配置
git config user.name

获取帮助

git help <verb>
// 例如
git help config

基础命令

查看当前状态

// 例如:所在分支、是否有数据未提交
$ git status
​
// 显示如下信息
On branch master
nothing to commit, working tree clean

初始化文件夹

git init

查看历史操作记录

// 显示所有提交过的版本信息
git log
​
commit 41e83ccd67a0c3ee2402aeff1a4688e0e19eb425 (HEAD -> master, origin/master, origin/HEAD)
Author: 南风 <49223092+Sun-Blog@users.noreply.github.com>
Date:   Sun Mar 7 19:37:38 2021 +0800
    Update README.md
    
 // 加上参数  --pretty=oneline,只会显示版本号和提交时的备注信息
 git log --pretty=oneline
 
 41e83ccd67a0c3ee2402aeff1a4688e0e19eb425 (HEAD -> master, origin/master, origin/HEAD) Update README.md
 f61b261bf5dc77f3c32143d5548d97c9365b1e69 Update README.md
 e72873af237dbb986a1ffbde57ef62802fc10afa Update README.md

回滚快照

注:快照即提交的版本,每个版本称之为一个快照

// 只移动 HEAD 到指定的 commit,但保留原先暂存区和工作目录的内容,同时会将指定 commit 之后提交的内容设置到暂存区中
git reset --soft
// 移动 HEAD 到指定的 commit,同时重置暂存区为指定 commit 的状态(将内容从 HEAD 复制到暂存区中),但保留原先的工作目录,同时将添加暂存区的修改撤销到工作目录中。该选项为默认选项,可以省略
git reset --mixed
// 移动 HEAD,同时重置暂存区和工作目录到指定 commit。也即是将三个树都重置为指定的 commit。
git reset --hard
// 这三个参数中,只有 soft 和 mixed 是安全的,hard 会令工作丢失,使用时应该小心。
​
// 回滚指定快照
git reset --hard 快照id号// 查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git reflog

版本对比

暂存区与工作区

git diff
// 比对出暂存区与工作区代码差异

两个历史快照

git diff A快照id号 B快照id

比较仓库和暂存区

git diff --cached 快照id

文件恢复

// 将暂存区的文件恢复至工作目录
git checkout -- 文件名

文件重命名

git mv oldname newname

分支

创建、删除和切换分支

查看所有分支

git barnch

新建分支

git branch 分支名

切换分支

git checkout 分支名

创建并切换分支

git checkout -b 分支名

删除分支

git branch -d 分支名

合并分支

git merge 分支名

若想将A分支内容合并至master分支,则需要切换至master分支,然后执行上述命令,分支名为A分支名

合并多次提交

git rebase

参考文章

ssh免密登录

// 1、执行如下命令,连续点击回车后,生成公私钥
ssh-keygen -t rsa -C '邮箱'// 2、此时会在/home/usera/.ssh目录下生成密钥对,将id_rsa.pub文件中内容复制// 3、在github或gitlab的设置中找到 setting -> ssh公钥;将复制内容粘贴至公钥内容区,保存即可

提交类型

feat: 新增feature
fix: 修复bug
docs: 仅仅修改了文档,如readme.md
style: 仅仅是对格式进行修改,如逗号、缩进、空格等。不改变代码逻辑。
refactor: 代码重构,没有新增功能或修复bug
perf: 优化相关,如提升性能、用户体验等。
test: 测试用例,包括单元测试、集成测试。
chore: 改变构建流程、或者增加依赖库、工具等。
revert: 版本回滚
build: 打包构建
ci

我在工作中是如何使用 git 的