You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义Git Submodule(diffusers)后跨主机同步问题求助

解决Diffusers子模块修改同步与克隆为空问题

一、先解决克隆父项目时子模块为空的问题

  • 若已克隆父项目,执行以下命令拉取子模块内容:
    git submodule update --init --recursive
    
  • 后续克隆父项目时,直接带参数拉取子模块:
    git clone --recurse-submodules <你的父项目Git地址>
    

二、核心:同步自定义修改到其他主机(必须fork官方仓库)

因为你没有权限将修改推送到HuggingFace官方的Diffusers仓库,所以必须先fork仓库到自己的账号下,再同步修改:

  1. 前往Diffusers官方仓库页面,fork到自己的GitHub/GitLab账号,得到属于自己的仓库地址(比如https://github.com/你的用户名/diffusers.git)。
  2. 在父项目的Diffusers子模块目录中,替换远程仓库地址:
    cd diffusers
    git remote set-url origin <你的fork仓库地址>
    
  3. 提交并推送你的自定义修改到自己的fork仓库:
    git add some_file_I_need_to_customise.py
    git commit -m "自定义修改Diffusers的xxx功能"
    git push origin main  # 或你当前使用的分支名
    
  4. 回到父项目根目录,提交子模块的状态更新(父项目需要记录子模块当前指向的commit和远程地址):
    cd ..
    git add diffusers
    git commit -m "更新Diffusers子模块为个人fork仓库,同步自定义修改"
    git push
    
  5. 后续其他主机克隆父项目时,用git clone --recurse-submodules命令,就能直接拉取到包含你自定义修改的Diffusers子模块。

三、结合可编辑安装的适配

之前的可编辑安装是针对官方仓库的,替换为个人fork后,重新执行可编辑安装即可:

cd diffusers
pip install -e .

这样后续修改Diffusers源码时,本地Python环境会直接生效,同时修改可正常提交到个人fork仓库,父项目也能同步子模块状态。

内容的提问来源于stack exchange,提问作者djmoon13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 19:49:58