【发布时间】:2014-10-30 10:57:09
【问题描述】:
有没有办法在分叉之前获得提交?
就像我们在网络图中一样。
示例:https://github.com/fladson/source/network
fork 之前的提交是3578d5c。
有没有办法通过 API 或 git 获得这个?
谢谢
【问题讨论】:
有没有办法在分叉之前获得提交?
就像我们在网络图中一样。
示例:https://github.com/fladson/source/network
fork 之前的提交是3578d5c。
有没有办法通过 API 或 git 获得这个?
谢谢
【问题讨论】:
您可以使用git checkout 从您的历史记录中返回特定的提交。在你的情况下,你会想要:
git checkout 3578d5c
更新:
您可以使用github api 通过查询fork 来查找fork 之前的提交。仔细阅读您正在寻找的叉子。每个分叉都包含一个“created_at”时间戳。保存那个时间戳。然后查询在“since”字段中传递“created_at”时间戳的提交。这将返回到创建分叉时的所有提交。
这是一个将返回提交的 ruby 脚本:https://gist.github.com/magikid/bd4a2286b2d08d7eaf99
您需要安装 octokit gem (gem install octokit) 才能运行脚本。
【讨论】:
我认为您无法获得分叉之前的提交。 克隆时,您将克隆整个存储库以及整个历史记录。您看到的“在分叉之前”的提交实际上不是,它只是创建新分支的起点,并且该分支可能在分叉日期后几个月创建:我现在可以在 D 日分叉您的回购你的主人有 100 次提交,然后我在 3 个月内调用 pull 你的分支,我自己没有做任何提交,但是 3 个月后你有 300 次提交,然后我从最新的提交创建一个分支,这是第 300 个.所以第一次提交是在分叉后 3 个月
【讨论】: