问题描述

今天老大突然转过身大吼一声:又是你写都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的所有分支)相关推荐

  1. git操作——撤回修改

    1.修改了代码,但是还没使用git add进行缓存,这时候想放弃修改 1.1 放弃修改某个文件 git checkout -- filename 1.2放弃修改所有文件 git checkout . ...

  2. Git修改以前某次历史提交注释

    Git修改之前的注释提交注释 比如Git的提交记录是这样的: $ git log b536e0c Smart Linux:enable adbd bd45a6f Smart Linux:optimiz ...

  3. git 修改分支名字_基础Git操作与GitHub协作吐血整理,收好!| 原力计划

    作者 | 光子俊来源 | CSDN博客出品 | CSDN(ID:CSDNnews) Git介绍 Git是目前世界上最先进的分布式版本控制系统,可以为我们管理项目.构建工程.多人协作提供便利,作为一个爱 ...

  4. git 修改commit_结合IDEA与命令行,解决常用git操作与特殊情况的最佳实践

    本文适合总觉得git操作不够顺滑,被各种分支问题搞得焦头烂额的Java业务开发同学. 如果是git的初学者,建议搜索下git其他入门教程,这方面资料很多,非常推荐git init一个新项目,然后本地操 ...

  5. IDEA Git操作(三)使用 cherry-pick、交互式 rebase 自由修改提交树

    说明 本教程按照 git在线练习 顺序进行,将在线测试的命令操作落地到 IDEA,使用开发工具来实现所有在线练习中的操作. 你可以结合 git在线练习 来学习本教程,先在线学习git命令,再在 IDE ...

  6. git切换到旧版本_git查看历史版本

    git查看历史版本以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一.git 获取历史版本的几种方式 我们简单的描述一个 ...

  7. Git如何将代码回退到一个历史的版本

    前言:     在工作中,有时候会遇到发布的最新代码有问题,或者是排查问题是否是API或者前端问题,需要回退到之前的代码版本.     本文主要记录两种方式,方便大家操作:①安装了小乌龟Tortois ...

  8. Git之深入解析如何重写提交历史

    一.Git 的提交原则 了解了管理或者维护 Git 仓库.实现代码控制所需的大多数日常命令和工作流程,尝试跟了踪和提交文件的基本操作,并且掌握了暂存区和轻量级地分支及合并的威力.如果想进一步对 Git ...

  9. Git笔记(6) 查看提交历史

    Git笔记(6) 查看提交历史 1. 提交历史 2. 查看 3. 常用选项 3.1. 差异 3.2. 总结 3.3. 自定义格式 3.3.1. 整合一行 3.3.2. 详尽程度 3.3.3. 定制格式 ...

最新文章

  1. RESTful架构风格
  2. Leetcode: 4Sum
  3. 1142 Maximal Clique (25 分)【难度: 一般 / 知识点: 模拟】
  4. 【BZOJ】1706: [usaco2007 Nov]relays 奶牛接力跑
  5. Shiro+SpringBoot 时,anon配置的匿名路径被拦截,自定义配置类走过的坑
  6. 【转】abp vNext微服务框架分析
  7. excel公式编辑器_Excel中自动更新超链接的文件目录,超简单
  8. 如何将Node.js Streaming MapReduce引入Amazon EMR
  9. 拦截游戏窗口被移动_非常简单实用的有效阻止您的电脑弹窗-拦截不受欢迎的弹窗...
  10. 算法在岗3年小结:模型策略篇
  11. 使用Timer实现异步调用方法
  12. 老司机和你深聊Kubenertes 资源分配之 Request 和 Limit 解析
  13. 【模拟器】网工福音!华三模拟器HCL升级,部分功能超越eNSP和EVE!
  14. 2022年南京医院三基考试耳鼻咽喉科学精选题及答案
  15. n2n内网穿透神器--可以用于设置rac搭建时的网卡(在云平台上有用)
  16. 英飞凌磁传感器 TLE5012b STM32F103 SPI 程序说明
  17. The Tennessee Waltz
  18. stm32之蓝牙无线超声波测距
  19. 修建公路1:最小生成树(克鲁斯卡尔算法)
  20. 基于51单片机的温度湿度采集系统

热门文章

  1. VSS、VDD、VCC区别
  2. java中workFlowEvent_关于WorkFlow的使用以及例子
  3. python画行向日葵,基于matplotlib的向日葵散点图
  4. outlook 2010 为啥设置签名没反应
  5. Column ‘createTime’ cannot be null,could not execute statement; SQL [n/a]; constraint [null]; nested
  6. git在远程仓库传项目出现的问题
  7. Facebook分享使用
  8. 技巧| 如何打造高逼格耀斑效果
  9. 树莓派Ubuntu 16.04 MATA系统 修改用户文件夹名后,提示configure it with blueman-service...
  10. Centos7下安装部署Zabbix-server 3.4