You need to enable JavaScript to run this app. 如何将分支B1指定提交的所有文件批量检出到分支B2
优惠活动
大模型
产品
解决方案
定价
更多

如何将分支B1指定提交的所有文件批量检出到分支B2

解决方案

首先执行操作前请确认你当前处于B2分支,且本地未暂存的重要修改已提交或暂存,避免覆盖丢失。

方法1:通用checkout批量操作(兼容所有Git版本)

你不需要逐个指定文件路径,直接在仓库根目录执行如下命令即可批量拉取对应提交的所有文件:

# 同步B1上某一指定提交的全部文件,将<提交哈希>替换为实际的提交ID
git checkout <提交哈希> -- .
# 若要同步B1分支最新提交的全部文件,直接使用分支名即可
git checkout B1 -- .

说明:命令中的-- .代表匹配目标提交下的所有路径文件,会直接覆盖当前分支的对应文件,同时自动将变更写入暂存区,全程不会修改B2的历史提交记录,完全符合你的需求。
如果你只需要同步某个目录下的所有文件,将.替换为对应目录路径即可,示例:git checkout B1 -- src/

方法2:restore命令实现(Git 2.23及以上版本推荐)

Git 2.23版本推出了语义更清晰的restore命令,专门用于文件恢复,避免和checkout的分支切换功能混淆,语法如下:

# 同步指定提交/分支的所有文件到工作区和暂存区
git restore --source=B1 --staged --worktree .

参数说明:--source指定文件来源的分支或提交哈希,--staged表示同步变更到暂存区,--worktree表示同步变更到工作目录。

执行完上述任意一种命令后,可通过git diff --cached核对暂存区的变更,确认无误后执行git commit即可完成提交,整个操作不会修改B2的原有提交历史。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 08:15:01