我有一个名为utils
的文件夹,我想将这个文件夹从master
分支复制到work
分支。我应该怎么做?
复制文件夹的操作如下:
$ git checkout work
Switched to branch 'work'
$ git checkout master -- utils
$ git add utils
$ git commit -m "Adding 'utils' directory from 'master' branch."
[work 9fcd968] Adding 'utils' directory from 'master' branch.
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 utils/file
如果您想在此之后从 master
中删除它:
$ git checkout master
Switched to branch 'master'
$ git rm -r utils
rm 'utils/file'
$ git commit -m "Removing 'utils' directory."
[master c786f95] Removing 'utils' directory.
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 utils/file
然后你只需要根据需要执行git push
。Git在您的项目中的输出可能会有所不同;我只是在这里创建了一个简单的测试库,其中仅包含utils
目录中的一个文件。
master
时,没有出现冲突。也许Git变得更智能了? - clinuxcopy
示例是否也适用于将已经存在于工作分支的utils
文件夹更改为master
版本? - aerijmangit checkout master -- utils
步骤之后,可以进行任何布局更改,然后将 add
步骤更改为与您实际想要的分支匹配。 - Carl Norum
git subtree push
命令来完成这个操作。请参考 https://gist.github.com/cobyism/4730490 获取示例。 - BlueRaja - Danny Pflughoeft