git操作:根据修改历史找到该历史的所有分支(根据commit id 查找包含该commit id的所有分支)
问题描述
今天老大突然转过身大吼一声:又是你写都bug。我很纳闷,就问咋了,他指着代码说 这一行是不是你注释掉的,我就脸凑过去,看了一下,心里纳闷:没印象呀,这怎么是我弄的,我怎么可能会写出bug,随口说:看git history,结果还真是我修改的,于是,我就在本地打开工程,再确认了一下,确实是我写的,还是一个月以前,但是很奇怪,一个月以前的我应该是开发另一个工程的,而且另一个工程已经合master,master上没有这个问题呀,怎么会在现在开发的分支上,于是我想知道这个文件被那些分支修改过,或者说我的这个commid id 被那些分支拥有,这样便于自己了解这个到底是从哪个分支上合并过来的。
解决
1 首先查询出commit id
git log <filename>
利用git log 接文件名来获取这个文件的所有commit历史,其中还能有版本号,以及提交时带的备注信息,如图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VYSDUVBr-1578801706317)(http://ob10rhuer.bkt.clouddn.com//git/commitid/git_log_%E6%88%AA%E5%9B%BE.png)]
将版本号弄下来,也可以通过idea的git工具来查看具体的提交操作,也可以找到对应的commit id,
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IC8k97jm-1578801706318)(http://ob10rhuer.bkt.clouddn.com//git/commitidIDEA%E5%8E%86%E5%8F%B2.png)]
这样我们就可以知道对饮修改的commit id了。
2 根据commit id查询包含该提交id的所有分支
知道commit id后查询出对应的所有分支,这个Git 操作主要有一些内容,
#查本地所有分支
git branch --contains CommitID
#查远程所有分支
git branch -r --contains CommitID
#查本地和远程的所有分支
git branch -a --contains CommitID
这样得到的结果是分支列表,如图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E0iueWwC-1578801706319)(http://ob10rhuer.bkt.clouddn.com//git/commitidgit%20comtains%E6%93%8D%E4%BD%9C.png)]
总结
这样就可以清晰知道这个commit id 在那些分支中,也能帮助了解自己是在哪个分支上写的,正常这些个分支也都是你自己创建的,所以该是你都锅就是你的锅,逃不了的。
社招、校招内推时刻
本人在阿里巴巴工作,业余时间做了社招、校招的公众号,可以内推大家,免筛选直接面试,公众号的一些文章也帮助大学、研究生的一些同学了解校招、了解名企,工作几年的同学想换工作也可以找我走社招内推,同时大家对文章有问题,也可以公众号找我,扫码关注哦!
参考博客
git如何查看commit所属的分支
git操作:根据修改历史找到该历史的所有分支(根据commit id 查找包含该commit id的所有分支)相关推荐
- git操作——撤回修改
1.修改了代码,但是还没使用git add进行缓存,这时候想放弃修改 1.1 放弃修改某个文件 git checkout -- filename 1.2放弃修改所有文件 git checkout . ...
- Git修改以前某次历史提交注释
Git修改之前的注释提交注释 比如Git的提交记录是这样的: $ git log b536e0c Smart Linux:enable adbd bd45a6f Smart Linux:optimiz ...
- git 修改分支名字_基础Git操作与GitHub协作吐血整理,收好!| 原力计划
作者 | 光子俊来源 | CSDN博客出品 | CSDN(ID:CSDNnews) Git介绍 Git是目前世界上最先进的分布式版本控制系统,可以为我们管理项目.构建工程.多人协作提供便利,作为一个爱 ...
- git 修改commit_结合IDEA与命令行,解决常用git操作与特殊情况的最佳实践
本文适合总觉得git操作不够顺滑,被各种分支问题搞得焦头烂额的Java业务开发同学. 如果是git的初学者,建议搜索下git其他入门教程,这方面资料很多,非常推荐git init一个新项目,然后本地操 ...
- IDEA Git操作(三)使用 cherry-pick、交互式 rebase 自由修改提交树
说明 本教程按照 git在线练习 顺序进行,将在线测试的命令操作落地到 IDEA,使用开发工具来实现所有在线练习中的操作. 你可以结合 git在线练习 来学习本教程,先在线学习git命令,再在 IDE ...
- git切换到旧版本_git查看历史版本
git查看历史版本以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一.git 获取历史版本的几种方式 我们简单的描述一个 ...
- Git如何将代码回退到一个历史的版本
前言: 在工作中,有时候会遇到发布的最新代码有问题,或者是排查问题是否是API或者前端问题,需要回退到之前的代码版本. 本文主要记录两种方式,方便大家操作:①安装了小乌龟Tortois ...
- Git之深入解析如何重写提交历史
一.Git 的提交原则 了解了管理或者维护 Git 仓库.实现代码控制所需的大多数日常命令和工作流程,尝试跟了踪和提交文件的基本操作,并且掌握了暂存区和轻量级地分支及合并的威力.如果想进一步对 Git ...
- Git笔记(6) 查看提交历史
Git笔记(6) 查看提交历史 1. 提交历史 2. 查看 3. 常用选项 3.1. 差异 3.2. 总结 3.3. 自定义格式 3.3.1. 整合一行 3.3.2. 详尽程度 3.3.3. 定制格式 ...
最新文章
- RESTful架构风格
- Leetcode: 4Sum
- 1142 Maximal Clique (25 分)【难度: 一般 / 知识点: 模拟】
- 【BZOJ】1706: [usaco2007 Nov]relays 奶牛接力跑
- Shiro+SpringBoot 时,anon配置的匿名路径被拦截,自定义配置类走过的坑
- 【转】abp vNext微服务框架分析
- excel公式编辑器_Excel中自动更新超链接的文件目录,超简单
- 如何将Node.js Streaming MapReduce引入Amazon EMR
- 拦截游戏窗口被移动_非常简单实用的有效阻止您的电脑弹窗-拦截不受欢迎的弹窗...
- 算法在岗3年小结:模型策略篇
- 使用Timer实现异步调用方法
- 老司机和你深聊Kubenertes 资源分配之 Request 和 Limit 解析
- 【模拟器】网工福音!华三模拟器HCL升级,部分功能超越eNSP和EVE!
- 2022年南京医院三基考试耳鼻咽喉科学精选题及答案
- n2n内网穿透神器--可以用于设置rac搭建时的网卡(在云平台上有用)
- 英飞凌磁传感器 TLE5012b STM32F103 SPI 程序说明
- The Tennessee Waltz
- stm32之蓝牙无线超声波测距
- 修建公路1:最小生成树(克鲁斯卡尔算法)
- 基于51单片机的温度湿度采集系统
热门文章
- VSS、VDD、VCC区别
- java中workFlowEvent_关于WorkFlow的使用以及例子
- python画行向日葵,基于matplotlib的向日葵散点图
- outlook 2010 为啥设置签名没反应
- Column ‘createTime’ cannot be null,could not execute statement; SQL [n/a]; constraint [null]; nested
- git在远程仓库传项目出现的问题
- Facebook分享使用
- 技巧| 如何打造高逼格耀斑效果
- 树莓派Ubuntu 16.04 MATA系统 修改用户文件夹名后,提示configure it with blueman-service...
- Centos7下安装部署Zabbix-server 3.4