找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 1006|回复: 4

[openwrt(x86)] [已解决]如何fork指定commits到自己仓库?

[复制链接]
发表于 2023-6-2 14:29 | 显示全部楼层 |阅读模式
本帖最后由 yuzhaojing 于 2023-6-2 16:15 编辑

如何fork指定commits到自己仓库?比如我只喜欢lean雕的5月1号的仓库,怎么把某一天或者某一个提交fork到我自己的仓库?

或者说,我本地编译固件的时候怎么回退到某个commits?主代码我知道用git reset --hard commit_id 退到/进到 指定commit的sha码
但是feeds里的packages和luci怎么回退呢?
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2023-6-2 14:47 | 显示全部楼层
要将特定的提交(commit)或某一天的更改(commits)从一个GitHub仓库fork到自己的仓库,您可以按照以下步骤进行操作:
1、打开要fork的原始仓库(在本例中是"lean雕"的5月1号仓库)的页面。
2、点击页面右上角的 "Fork" 按钮,将原始仓库fork到自己的GitHub账户下。
3、进入您自己的仓库,找到刚刚fork的仓库。
4、点击仓库名称旁边的 "Code" 按钮,复制仓库的HTTPS或SSH地址。
5、在您的本地计算机上,使用Git命令行或任何Git客户端克隆您刚刚fork的仓库。使用以下命令将克隆仓库到本地:

  1. git clone <仓库地址>
复制代码

6、进入克隆的仓库目录,确保您在正确的分支上工作。使用以下命令切换到主分支(通常是master或main):

  1. git checkout <分支名称>
复制代码

7、打开原始仓库(lean雕的5月1号仓库)的页面,找到您想要fork的特定提交(commit)或某一天的更改(commits)。
8、点击提交(commit)的哈希或日期,进入提交的详细信息页面。
9、复制页面上的提交(commit)的哈希(SHA)或日期。
10、返回到您本地克隆的仓库目录,运行以下命令:

  1. git cherry-pick <提交哈希或日期>
复制代码

<提交哈希或日期> 替换为您在第9步中复制的提交(commit)的哈希或日期。
11、Git 将应用选定的提交(commit)到您的本地仓库。
12、推送更改到您自己的GitHub仓库。使用以下命令:

  1. git push origin <分支名称>
复制代码

<分支名称> 替换为您要推送更改的分支名称。
现在,您已将特定的提交(commit)或某一天的更改(commits)从原始仓库fork到您自己的仓库。

评分

参与人数 1恩山币 +2 收起 理由
idiu + 2 谢谢教程

查看全部评分

只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-2 14:50 | 显示全部楼层
如果您想在本地编译固件时将feeds中的packages和luci回退到特定的commit,可以使用以下步骤:
1、首先,使用 git log 命令查看当前所在分支的提交历史。复制您要回退到的commit的完整SHA码或部分SHA码。
2、使用以下命令将主代码回退到指定的commit:

  1. git reset --hard <commit_id>
复制代码

<commit_id> 替换为您要回退到的commit的SHA码。
3、现在,您的主代码已回退到指定的commit,但是feeds中的packages和luci仍然是最新的状态。
4、进入您的feeds目录,通常位于主代码目录下的feeds文件夹。
5、使用以下命令来查看当前所在分支的提交历史:

  1. git log
复制代码

6、复制您要回退到的commit的完整SHA码或部分SHA码。
7、使用以下命令将feeds中的packages和luci回退到指定的commit:

  1. git checkout <commit_id> -- package_name1 package_name2 luci_folder
复制代码

<commit_id> 替换为您要回退到的commit的SHA码,package_name1 package_name2 替换为您要回退的具体包的名称,luci_folder 替换为您要回退的Luci的文件夹名称。
8、重复步骤 7,为所有需要回退的包和文件夹执行相同的命令。
现在,您已成功将feeds中的packages和luci回退到指定的commit。在进行固件编译时,它们将与主代码一起使用指定commit的版本。请确保在回退之后运行 ./scripts/feeds update -a 和 ./scripts/feeds install -a 命令,以确保正确更新和安装所需的依赖项。

点评

感谢大佬花时间教程,马上去试试看,多谢多谢  详情 回复 发表于 2023-6-2 15:18

评分

参与人数 1恩山币 +2 收起 理由
idiu + 2 教程详细,谢谢

查看全部评分

只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-2 15:18 | 显示全部楼层
yj363937 发表于 2023-6-2 14:50
如果您想在本地编译固件时将feeds中的packages和luci回退到特定的commit,可以使用以下步骤:1、首先,使用 ...

感谢大佬花时间教程,马上去试试看,多谢多谢
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-3 11:34 | 显示全部楼层
src-git packages https://github.com/reponame/packages.git^commithash  我看官方说明文档说是可以像这样直接改feeds.conf.default,来获取自己想要的commit,这样好像也更方便一点,不过没有实际操作过。

评分

参与人数 1恩山币 +2 收起 理由
idiu + 2 让我们一起面朝大海、花开花落…….

查看全部评分

只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-6-13 23:04

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表