假设我有一个master
分支和一个gh-pages
分支。 master的目录结构如下所示:
projects/
project-one/
src/
app.js
dist/
bundle.js
index.html
project-two/
src/
app.js
dist/
bundle.js
index.html
gh-pages
的目录结构是空白的,但我希望它看起来像这样:
project-one/
bundle.js
index.html
project-two/
bundle.js
index.html
我已尝试详细说明here
$ git checkout master
$ git checkout gh-pages project-one/dist
error
$ git checkout gh-pages -- project-one/dist
error
那应该将dist文件夹复制到gh-pages
分支,但是我收到error pathspec: file not found
错误,所以我尝试git pull
同步到远程,但这并没有解决问题。< / p>
请注意,为了使gh-pages
干净,我在整个目录中使用了git rm -r
,因为我不希望gh-pages
目录结构从master
继承。
如何将每个project / dist文件夹中的所有内容从master分支复制到gh-pages分支?
编辑:尝试了git checkout gh-pages project-one/dist/**
,这给了我更好的错误信息:error: pathspec 'dist/bundle.js' did not match any file(s) known to git.
答案 0 :(得分:2)
你正在倒退。您需要在gh-pages
分支范围内,然后执行checkout
操作:
$ git checkout gh-pages
$ git checkout master dir/file1
我相信你可以从分支机构复制到另一个分支机构并更改目录的唯一方法(当然不需要在复制后进行手工操作)如下:
$ git show master:dir/file1 > new_location/file1