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

Git分支相关技术问询:获取其他分支项目文件内容及无提交迁移分支改动

Git分支相关技术问询:获取其他分支项目文件内容及无提交迁移分支改动

看起来你想要的是把temp分支的内容同步到当前main分支的工作区里,但又不想切换分支、移动HEAD或者提交任何改动对吧?其实有两个简单的方法可以做到,我帮你梳理一下:

  • 方法一:用git checkout指定分支和路径
    你之前以为git checkout只能切换分支,但其实它还能单独把某个分支的文件拉到当前工作区,完全不会改变当前所在分支或HEAD的位置。执行以下命令即可同步所有文件:

    git checkout temp -- .
    

    如果你只需要同步特定文件或文件夹,把命令里的.换成具体路径就行,比如git checkout temp -- src/components/Button.vue。
    注意:如果当前工作区有未提交的改动,这个操作会直接覆盖它们!所以如果有需要保留的本地改动,先执行git stash暂存,之后用git stash pop就能恢复。

  • 方法二:用git restore从指定分支恢复
    你说看了restore的手册没找到对应方法,其实它是支持从其他分支获取内容的,只需要加上--source参数指定目标分支名:

    git restore --source=temp .
    

    这个命令的效果和上面的checkout完全一致,都是把temp分支的文件内容同步到当前工作区,HEAD依然停留在main分支,也不会产生任何提交。同样要注意,如果有未提交的本地改动,会被覆盖,记得先暂存。

这两个方法都完美匹配你的需求——不用切换分支、不移动HEAD、不产生提交,只是把temp分支的文件内容同步到当前工作区。如果只需要同步个别文件,替换掉命令里的.即可,这样不会影响其他文件的状态。

备注:内容来源于stack exchange,提问作者Yonatan Reicher

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 18:03:06