如何git将单个文件夹复制到另一个项目

时间:2015-12-07 10:23:21

标签: git

我想将所有文件和文件夹复制到一个文件夹中,保留git历史记录。

但不是来自提交中其他文件夹的任何文件。

1 个答案:

答案 0 :(得分:1)

我经常使用这种方法,所有功劳都归功于http://st-on-it.blogspot.co.uk/2010/01/how-to-move-folders-between-git.html

将现有repo或git clone的副本复制到repocopy

无论你做什么,都不要推!

cd repocopy

git checkout yourbranch

git filter-branch --subdirectory-filter yourfolder -- -- all

mkdir -p yourfolder

git status

.gitignore中的所有文件都将保留,以便正常删除

rm ignoredfiles

然后git mv(而不是mv)将剩余的文件和文件夹放到你的文件夹中

git mv yourfiles yourfolder

git commit -m "yourfolder: copy of yourfolder in repocopy"

现在转到主项目

cd ../yourproject/

git remote add repo-repocopy ../repocopy

git fetch repo-repocopy

git branch feature_repocopy repo-repocopy/yourbranch

git checkout feature_yournewbranch

git merge --no-ff feature_repocopy
相关问题