Git操作:如何将dev分支文件复制到main分支指定文件夹?
解决方案:将dev分支文件复制到main分支指定文件夹
你之前用git merge没效果是因为merge是合并分支的提交历史,不是把dev的文件复制到main的子目录里——这俩操作逻辑完全不一样。下面给你两种可靠的方法:
方法一:用Git命令直接提取(推荐,无手动复制麻烦)
先切到main分支并确保是最新状态:
git checkout main git pull origin main # 可选,若需同步远程main的最新内容创建目标文件夹(比如要放到
./dev-content目录,不存在就先建):mkdir -p ./dev-content用
git archive把dev分支的所有文件打包并解压到目标文件夹:git archive dev | tar -x -C ./dev-content这条命令会把dev分支的所有文件(包括隐藏文件)完整提取到
./dev-content,不会影响main分支原本的文件。最后提交修改到main:
git add ./dev-content git commit -m "Copy all files from dev branch to dev-content directory"
方法二:手动复制(适合不熟悉命令行的情况)
先确保main分支工作区干净,没有未提交的修改:
git status如果有未提交内容,先
git add .+git commit提交,或者用git stash暂存。切换到dev分支:
git checkout dev把dev分支的所有文件(包括隐藏文件)复制到本地临时目录(Linux/macOS可用
/tmp/dev-temp,Windows可选桌面临时文件夹):# Linux/macOS cp -r . /tmp/dev-temp/ # Windows 直接用资源管理器全选所有文件(记得显示隐藏文件),复制到临时文件夹切回main分支:
git checkout main创建目标文件夹,然后把临时目录的文件粘贴进去:
# Linux/macOS mkdir -p ./dev-content cp -r /tmp/dev-temp/* ./dev-content/ # Windows 手动创建dev-content文件夹,把临时文件夹的文件粘贴进去提交修改:
git add ./dev-content git commit -m "Copy all files from dev branch to dev-content directory"
内容的提问来源于stack exchange,提问作者Nayr
相关产品推荐
相关产品推荐

