1 git reflog

git reflog : 可查看所有分支的所有操作记录(含: commit / reset / merge / checkout等操作)

1-1 查看分支的所有变更记录(含: commit / reset / merge / checkout等)

Johnny@LAPTOP-RFPOFJM7 MINGW64 /i/Workspace-I/gitDemo (master)
$ git reflog
cbd0c2f (HEAD -> master) HEAD@{0}: reset: moving to cbd0c2ff834f267876e5c0f5267c42499ce735b6
343ff9b HEAD@{1}: reset: moving to 343ff9b
343ff9b HEAD@{2}: reset: moving to 343ff9ba021a4cebffdc03950f61669e5be51f7f
343ff9b HEAD@{3}: reset: moving to HEAD
343ff9b HEAD@{4}: reset: moving to HEAD
343ff9b HEAD@{5}: reset: moving to HEAD
343ff9b HEAD@{6}: commit: modified file5 - 2th
cbd0c2f (HEAD -> master) HEAD@{7}: commit: modified file5 - 1th
8b8044f HEAD@{8}: commit: add file5 - init
df27a4c (gitDemo-tagV1.1) HEAD@{9}: merge gitDemo-tagV1.1: Fast-forward
055244b (tag: v1.1) HEAD@{10}: checkout: moving from gitDemo-tagV1.1 to master
df27a4c (gitDemo-tagV1.1) HEAD@{11}: checkout: moving from gitDemo-tagV1.1 to gitDemo-tagV1.1
df27a4c (gitDemo-tagV1.1) HEAD@{12}: commit: add file4.txt
055244b (tag: v1.1) HEAD@{13}: checkout: moving from master to gitDemo-tagV1.1
055244b (tag: v1.1) HEAD@{14}: checkout: moving from gitDemo-tagV1.1 to master
055244b (tag: v1.1) HEAD@{15}: checkout: moving from 055244b34aa42178da034d1f5eb32989ca72a80d to gitDemo-tagV1.1
055244b (tag: v1.1) HEAD@{16}: checkout: moving from gitDemo2-dev to v1.1
45b5306 (tag: v1.0, gitDemo2-dev) HEAD@{17}: checkout: moving from master to gitDemo2-dev
055244b (tag: v1.1) HEAD@{18}: commit: add file3.txt on master branch
45b5306 (tag: v1.0, gitDemo2-dev) HEAD@{19}: merge gitDemo2-dev: Fast-forward
6ad753e HEAD@{20}: checkout: moving from gitDemo2-dev to master
45b5306 (tag: v1.0, gitDemo2-dev) HEAD@{21}: checkout: moving from master to gitDemo2-dev
6ad753e HEAD@{22}: checkout: moving from master to master
6ad753e HEAD@{23}: checkout: moving from gitDemo2-dev to master
45b5306 (tag: v1.0, gitDemo2-dev) HEAD@{24}: merge master: Merge made by the 'recursive' strategy.
e1d54b3 HEAD@{25}: checkout: moving from gitDemo2-dev to gitDemo2-dev
e1d54b3 HEAD@{26}: checkout: moving from master to gitDemo2-dev
6ad753e HEAD@{27}: commit: modified file1 -2 on master
7ebed5d HEAD@{28}: checkout: moving from gitDemo2-dev to master
e1d54b3 HEAD@{29}: commit: modified file2 on gitDemo2-dev
c476bfc HEAD@{30}: checkout: moving from master to gitDemo2-dev
7ebed5d HEAD@{31}: checkout: moving from gitDemo2-dev to master
c476bfc HEAD@{32}: commit: add file2 on gitDemo2-dev branch
7ebed5d HEAD@{33}: checkout: moving from master to gitDemo2-dev
7ebed5d HEAD@{34}: commit: modified file1 on master branch
e03aabe HEAD@{35}: commit (initial): init and add file1.txt

1-2 查看分支是基于哪个分支checkout出来的

git reflog --date=local | grep '<分支名>'

2 git log

2-1 查询分支的变化过程

--decorate 标记会让git log显示每个commit的引用(如:分支、tag等)

--oneline 一行显示

--simplify-by-decoration 只显示被branch或tag引用的commit

--all 表示显示所有的branch,这里也可以选择,比如指向显示分支ABC的关系,则将--all替换为branchA branchB branchC

Johnny@LAPTOP-RFPOFJM7 MINGW64 /i/Workspace-I/gitDemo (master)
$ git log --graph --oneline
* e9afde4 (HEAD -> master) modified file5 - 5th
* c085c9a modified file5 - 4th
* c09d26c modified file5 - 3th
* e2f910f modified file5 - 2.2th
* cbd0c2f modified file5 - 1th
* 8b8044f add file5 - init
* df27a4c (gitDemo-tagV1.1) add file4.txt
* 055244b (tag: v1.1) add file3.txt on master branch
* 45b5306 (tag: v1.0, gitDemo2-dev) Merge branch 'master' into gitDemo2-dev
|\
| * 6ad753e modified file1 -2 on master
* | e1d54b3 modified file2 on gitDemo2-dev
* | c476bfc add file2 on gitDemo2-dev branch
|/
* 7ebed5d modified file1 on master branch
* e03aabe init and add file1.txt
# git log --graph --decorate --oneline --simplify-by-decoration --all

* df08309 (dev) 节目信息的反馈
| * 09a3601 (origin/master, origin/HEAD, master) 心跳修复
|/
| * aced49f (test) 计算逻辑调整
|/
| * 22f18e5 (HEAD, upgrade, new_branch) 机器调整
|/
* 6cefafe (tag: 0.6.2, 242/10.26) pid空处理
* 680a169 (tag: 0.6.0) tag: 0.6.0
* da9228e (tag: 0.5.3) recommit missing codes
* c66e1e0 (origin/dev) bitrate check

所有的tag和历史branch都会被列出来,即使branch被delete了

X 参考文献

[Git]git分支查询——图像化[转载]的更多相关文章

  1. git图像化界面GUI的使用

    GIT学习笔记 一.        基础内容 1.git是一个版本控制软件,与svn类似,特点是分布式管理,不需要中间总的服务器,可以增加很多分支. 2.windows下的git叫msysgit,下载 ...

  2. 【github&&git】3、git图像化界面GUI的使用

    GIT学习笔记 一.        基础内容 1.git是一个版本控制软件,与svn类似,特点是分布式管理,不需要中间总的服务器,可以增加很多分支. 2.windows下的git叫msysgit,下载 ...

  3. Git超级菜鸟学习--> 社区化协作以及分支操作

    1 先将主库的url添加到本地上面, git remote add <RepoName> <URL> 2 获取主库的修改记录 git fetch --获取服务器上的修改 git ...

  4. git创建分支并提交项目

    git 创建分支, 切换分支, 合并分支, 删除分支及提交[commit提交到本地仓库push名利提交到远程服务器], 检出[pull], 冲突修改, 本地仓库同步远程服务器[pul和push命令l] ...

  5. 我的Git使用-资料查询,名博笔记

    1.首先您要知道什么是GIT 2.然后对其GIT的历史有所了解(吹牛b的时候用得着,如果还不知道 linux 脱袜子 Linus Torvalds  o(︶︿︶)o ) Git 常用资料查询站点. 官 ...

  6. Git Flow 分支管理简述

    概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...

  7. 理解git的分支原理,更好地使用git

    文章内容转载于git-scm. 部分内容涉嫌枯燥 一.git分支概念 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.在很多版本控 ...

  8. git在eclipse中的配置 转载

    git在eclipse中的配置 转载 一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜索EG ...

  9. Git合并分支或者冲突

     假设冲突文件是 test/TestCase.php  下面分5种情况讨论. 1.本地不变.   然后远程别人有更新.   git pull   这种最简单,没有冲突,本地工作区直接更新   2.我本 ...

  10. git学习(3)----git 新建分支并提交本地代码到远程分支

    一.步骤 1.在gitlab上创建一个issue,issue一般来说是版本发布说明.比如本次更新了什么功能,修复了什么bug什么的. 2.然后在本地创建一个branch,或者直接在gitlab上申请m ...

随机推荐

  1. deepin系统编辑pdf文件的两个简单方法(终端命令行模式)

    DEEPIN深度系统编辑PDF文件有时竟然超级简单好用,比WINDOWS系统需要单独下载一个PDF编辑软件的方法强多了,而且windows系统PDF编辑软件还有版权限制,各种作啊. 下面的两条命令,使 ...

  2. requests模块之post请求传参json和data区别

    post请求参数到底是传data还是json,此时要看请求头里的content-type类型 请求头中content-type为application/json, 为json形式,post请求使用js ...

  3. poi解析Excel2007海量数据

    处理excel,开源的javaApI提供了两种,一种是jxl,一种是poi.poi提供的功能较多,所以我用的是poi. poi有两种模式,一个是用户模式(HSSFworkbook:支持Excel200 ...

  4. Spring Boot中使用过滤器和拦截器

    过滤器(Filter)和拦截器(Interceptor)是Web项目中常用的两个功能,本文将简单介绍在Spring Boot中使用过滤器和拦截器来计算Controller中方法的执行时长,并且简单对比 ...

  5. Java中接口相关知识

    1.接口 1.1接口概述 接口就是一种公共的规范标准,只要符合标准,大家都可以通用 Java中的接口更多的体现在对行为的抽象 1.2接口的特点 接口用关键字interface修饰,格式:public ...

  6. 三、JMeter实战-快速上手JMeter

    1.JMeter基本操作 线JMeter最基本的操作有三个步骤: 先添加一个线程组. 添加HTTP请求. 添加查看结果树. 1.1.添加线程组 在测试计划下新建一个线程组 1.2.添加HTTP请求 在 ...

  7. SQL SERVER 内存优化表踩坑记

    背景 因为生产应用需要刷新大量的状态数据到数据库中用于客户端的显示,于是新建了一张状态表,表内行数固定,状态更新到列内.刚开始运行时还行,更新都很及时,查询速度也不慢.于是就这样使用了有一个月的时间. ...

  8. 运行python脚本报错:selenium.common.exceptions.SessionNotCreatedException: Message: session not created

    运行python脚本报错:selenium.common.exceptions.SessionNotCreatedException: Message: session not created 原因: ...

  9. 论 C++、C语言中指针的实用价值(一)

    指针的价值在于哪里?单纯为了迷惑别人?其实并非如此.本系列长期总结一些必须用指针或者用指针很好的场合: 写任何的代码都必须有一定的动机.而不是想怎么写就怎么写 写代码不是纯灵感的行为.也不是纯机械的行 ...

  10. Manage your references to .Net assemblies Dynamics 365 for Operations VS projects

    (Dynamics 365 for Operations was previously known as the New Dynamics AX) Dynamics 365 for Operation ...