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

如何撤销Git子树的所有本地变更并替换为远程提交?

撤销Git子树本地变更并替换为远程仓库提交

如果你想撤销Git子树的所有本地变更,并用远程仓库的最新提交完全替换子树内容,可以按以下步骤操作:

  1. 撤销子树的本地未提交变更
    用这条命令将子树目录恢复到最近一次提交的状态,丢弃所有本地修改:

    git checkout HEAD -- repo
    

    (注:将repo替换为你的子树实际本地路径)

  2. 拉取远程仓库内容替换子树
    执行git subtree pull命令,将远程分支的最新内容拉取并覆盖本地子树:

    git subtree pull --prefix repo https://github.com/repo/repo.git main --squash
    

    参数说明:

    • --prefix repo:指定子树在本地仓库中的路径
    • https://github.com/repo/repo.git:子树对应的远程仓库地址
    • main:目标远程分支名称
    • --squash:将远程的多个提交合并为一个提交,避免本地提交记录过于冗余

如果你的子树本地已有提交的变更需要彻底清除,可以先执行git reset HEAD -- repo取消暂存,再用git checkout HEAD -- repo丢弃修改,之后再执行上述拉取命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:15:38