git深入学习笔记

git安装

直接到官网下载后,安装到window机子上。

敲命令,说明安装成功

C:\Users\Administrator>git --version

在这里插入图片描述

此外在桌面右键可以看到
在这里插入图片描述
点击Git Bash Here可以打开命令窗口
在这里插入图片描述

配置信息

  1. 设置用户名和邮箱
# 全局配置
git config --global user.name eastqi
git config --global user.email 66734643@qq.com
# 本地配置(每个项目自己的配置)
git config --local user.name eastqi
git config --local user.email 66734643@qq.com
  1. 查看全部配置
git config --list

在这里插入图片描述
3. 查看本地配置

git config --list --local

需要在git管理的项目中执行,否则会报错;
git管理的项目中执行时:
在这里插入图片描述
非git管理的项目目录下执行时:
在这里插入图片描述

  1. 查看全局配置
git config --list --global

在这里插入图片描述
5. 查看系统配置

git config --list --system

在这里插入图片描述

创建版本库

比如已有项目D:\studyGit\myGitProject
在该目录下执行git init,会生成一个.git的文件夹
或没有项目在D:\studyGit下执行git init myGitProject

git init
git init myGitProject

在这里插入图片描述
在这里插入图片描述

基本命令

# 在工作区创建文件
touch index.html
# 添加到暂存区
git add index.html
# 修改文件
echo 'hello world' >> index.html
# 查看文件状态
git status
# 查看日志
git log

在这里插入图片描述

# 从暂存区提交文件到版本库
git commit -m 'add index.html'

在这里插入图片描述

# 查看工作区和暂存区的区别
git diff
git diff [文件名]
# 查看暂存区和版本库的区别
git diff --cached
# 查看工作区和版本库的区别
git diff HEAD

在这里插入图片描述

# 查看日志前N条
git log -n 2
# 在一行展示日志
git log --pretty=oneline
# 更详细的日志
git log --pretty=raw

在这里插入图片描述

# 创建分支
git checkout -b b1 fdd2576f079618e2606f0fa9081df3cdd8069281

在这里插入图片描述
对分支进行版本修改并提交一次

# 图形化展示 --all查看所有分支 --graph图形化
git log --graph --all

在这里插入图片描述

# 切换分支
git checkout master

在这里插入图片描述

# -p会展示差异信息
git log -p -n 2

在这里插入图片描述

# 查看两个提交的区别
 git diff e25e6f9a fdd2576f
 git diff e25e6f9a fdd2576f -- [文件名]

在这里插入图片描述

# 日志具体状态统计信息
git log --stat

在这里插入图片描述

# 查看分支信息
git branch -av

在这里插入图片描述

gitk 图形化界面

# 在项目目录下敲
gitk --all

弹出图形化界面
在这里插入图片描述

分支

快进合并

# 查看分支
git branch
# 创建分支
git branch branchname
git checkout -b branchname
# 切换分支
git checkout branchname

在这里插入图片描述

# 删除分支
git branch -D branchname

在这里插入图片描述

# 快进合并 目标b1分支比master分支版本更高
# 切换到master分支
git checkout master
git merge b1

在这里插入图片描述

3路合并

# 3路合并,结构如下图所示
# 图表形式查看当前分支情况
git log --all --graph --pretty=oneline
# 合并
git merge b3
# 撤销合并
git merge --abort

在这里插入图片描述

# 合并的处理,上图可以看出冲突的地方是index.html
# 如下图,在文本编辑器中解决冲突后提交

在这里插入图片描述

# 冲突处理后添加到暂存区
git add index.html
# 再提交版本库
git commit -m 'merge index.html'
# 查看最终分支情况
git log --all --graph --pretty=oneline

在这里插入图片描述

rebase 变基

# 先构造如下分支情况 master 和 b4 
 git log --all --graph --pretty=oneline

在这里插入图片描述

# 将当前分支的基础切到master,即变基
git rebase master
# 撤销变基操作
git rebase --abort

在这里插入图片描述
在这里插入图片描述

# 解决冲突后添加到暂存区,注意变基操作不需要执行commit
git add .
# 然后继续变基
git rebase --continue

在这里插入图片描述

# 后面可以按照快进合并或者3路合并方式进行合并

需要特别注意的是 快进合并会直接将高版本的覆盖低版本的文件
在这里插入图片描述

分离头指针

其实就是相当于先创建分支,但是没有给分支设置头指针,导致在其他分支中是看不到该提交的一种操作。

  1. checkout[7508bfc65a088f8f6e05536b88de6d1178df29fb]的commit
    在这里插入图片描述
  2. 在该commit上新增文件并提交

在这里插入图片描述
3. 查看分支结构
在这里插入图片描述

  1. 切换到master分支,是看不到上面的分支信息的
    在这里插入图片描述
  2. 如果给该分支分配一个头指针,则就可以看到
git branch detach 84373ee

在这里插入图片描述

进阶命令

  1. 修改当前最新提交的备注信息
# 执行后会打开一个编辑窗口 输入i,进行编辑后ESC,shift+:,wq
git commit amend

在这里插入图片描述

  1. 修改以前的commit备注
  2. 合并多个commit到一个
  3. 恢复暂存区与版本库一样
git reset HEAD [文件名]

在这里插入图片描述
5. 恢复工作区与暂存区一样

git checkout 文件名

在这里插入图片描述
6. git stash 临时任务保存堆栈

# 保存
git stash
git stash save "message"
# 查看
git stash list
git stash show [stash@{$num}]
# 获取一个但不删除
git stash apply [stash@{$num}]
# 弹出一个并删除
git stash pop [stash@{$num}]
# 删除
git stash drop stash@{$num} 
# 清除所有
git stash clear
  1. 文件的忽略,不加入git管理的设置
# 新建忽略文件
touch .gitignore
# 配置忽略文件
echo '*.html' > .gitignore

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值