- 主题:如何在git仓库中找到一份代码的commit ID?
比如有一份代码,没有了版本信息,删掉了.git目录。知道它来自于某个巨大的git仓库,如何确定这份代码在git仓库中的commit ID?如果仓库是线性历史的话,二分法很容易找到,然而仓库经过很多人长时间分支提交合并早都不是线性历史了。
#发自zSMTH@Note 8 Pro暖手宝
--
FROM 111.18.134.*
找找里面最新的文件日期
【 在 spadger 的大作中提到: 】
: 比如有一份代码,没有了版本信息,删掉了.git目录。知道它来自于某个巨大的git仓库,如何确定这份代码在git仓库中的commit ID?如果仓库是线性历史的话,二分法很容易找到,然而仓库经过很多人长时间分支提交合并早都不是线性历史了。
: #发自zSMTH@Note 8 Pro暖手宝
--
FROM 61.149.143.*
git rev-list --all | xargs git grep <expression>
【 在 spadger 的大作中提到: 】
: 比如有一份代码,没有了版本信息,删掉了.git目录。知道它来自于某个巨大的git仓库,如何确定这份代码在git仓库中的commit ID?如果仓库是线性历史的话,二分法很容易找到,然而仓库经过很多人长时间分支提交合并早都不是线性历史了。
: #发自zSMTH@Note 8 Pro暖手宝
--
修改:lvsoft FROM 114.222.221.*
FROM 114.222.221.*
这份代码是没有版本信息的,也不知道它的commit id是什么,所以列出仓库中所有com
mit id以后并不知道要grep什么。
【 在 lvsoft 的大作中提到: 】
: git rev-list --all | xargs git grep <expression>
--
FROM 222.90.31.*
git grep是在提交的版本的内容中grep。
你在代码里找一段比较有区分度的贴进去。
【 在 spadger 的大作中提到: 】
: 这份代码是没有版本信息的,也不知道它的commit id是什么,所以列出仓库中所有com
: mit id以后并不知道要grep什么。
:
--
FROM 114.222.221.*
这个区分度真不好找,因为代码是个相当庞大的目录树。
主要还是多次分支合并造成的历史不线性,否则二分法很容易找到。
【 在 lvsoft 的大作中提到: 】
: git grep是在提交的版本的内容中grep。
: 你在代码里找一段比较有区分度的贴进去。
--
FROM 222.90.31.*
什么意思?
就是说你有个文件,要找到哪个历史版本中跟它完全一样是么?
那岂不是穷举下就行了。
git show $rev:$filename
$filename就是你这个文件的文件名
$rev是版本,可以用
git log --pretty=format:"%h" $filename
得到你这个文件名的所有有变化的版本id
找出来之后跑个md5sum,跟你现在的版本对比下就行。
如果是多了个空格之类的,那跑个diff,找出差异最小的也一样。
【 在 spadger 的大作中提到: 】
: 这个区分度真不好找,因为代码是个相当庞大的目录树。
: 主要还是多次分支合并造成的历史不线性,否则二分法很容易找到。
:
--
修改:lvsoft FROM 114.222.221.*
FROM 114.222.221.*
把开源抄成闭源了吧,这是,
又没维护好日志信息。抄的人估计还是“架构师”、CTO?
他给大老板一演示现在换你擦屁股,有bug了改不掉了?哈哈哈
看下注释里,带日期不,过滤出来,找到最大的日期。就大差不差了。
这种活,对人生没啥帮助。就这样吧。
【 在 spadger 的大作中提到: 】
: 比如有一份代码,没有了版本信息,删掉了.git目录。知道它来自于某个巨大的git仓库,如何确定这份代码在git仓库中的commit ID?如果仓库是线性历史的话,二分法很容易找到,然而仓库经过很多人长时间分支提交合并早都不是线性历史了。
: #发自zSMTH@Note 8 Pro暖手宝
--
FROM 1.86.59.*
某厂家fork的OpenOCD代码,实现了他们芯片的驱动,还没有开源。我偶然得到了一份,
当然是没有log信息的。我想知道他们是从OpenOCD哪个版本fork的,当然最简单的方法
是直接问问他们。
国内厂家开源一般都是丢一份没有log信息的代码压缩包出来。
【 在 lvsoft 的大作中提到: 】
: 什么意思?
: 就是说你有个文件,要找到哪个历史版本中跟它完全一样是么?
: 那岂不是穷举下就行了。
: ...................
--
FROM 222.90.31.*
心理活动过于多了,看上贴。
【 在 DoorWay 的大作中提到: 】
: 把开源抄成闭源了吧,这是,
: 又没维护好日志信息。抄的人估计还是“架构师”、CTO?
: 他给大老板一演示现在换你擦屁股,有bug了改不掉了?哈哈哈
: ...................
--
FROM 222.90.31.*