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

能否从一个repo克隆特定commit至另一已有开发的repo并设为新master?

操作完全可行,且不会损坏两个原仓库

以下是具体操作步骤,全程仅在第二个仓库本地执行,绝对不会影响第一个仓库的内容:

  • 先把第二个仓库的现有改动全部提交,避免操作中丢失代码:

    git add .
    git commit -m "暂存现有开发内容"
    
  • 临时将第一个仓库添加为第二个仓库的远程源(用完就删除,不会留下长期关联):

    git remote add temp-first-repo <第一个仓库的Git地址>
    
  • 拉取第一个仓库的所有提交记录(仅本地拉取,不会修改当前分支内容):

    git fetch temp-first-repo
    
  • 基于目标特定commit创建新分支,这个分支就以第一个仓库的指定commit为起点:

    git checkout -b new-master <目标commit的哈希值>
    
  • 把第二个仓库原master分支的现有开发内容合并到这个新分支,保留你的原有代码:

    git merge master
    

    若合并时出现冲突,手动解决冲突后提交即可。

  • 让第二个仓库的master分支切换到这个新分支的状态:

    git checkout master
    git reset --hard new-master
    
  • 移除临时添加的第一个仓库远程源,彻底切断与第一个仓库的关联:

    git remote remove temp-first-repo
    
  • 如果第二个仓库有远程托管(比如GitHub/GitLab),需要强制推送更新master分支(注意:强制推送会覆盖远程的master分支,提前和团队成员沟通好,或者先备份远程分支):

    git push -f origin master
    

完成后,第二个仓库的master就以第一个仓库的指定commit为开发起点,同时保留了你之前的开发内容,后续所有开发都和第一个仓库完全无关,不会对它造成任何影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 12:40:30