2015-11-19 113 views
0

几年前,当我放弃旧桌面并将cvs/svn转换为git时,我对此一无所知,因此我决定存储一些奇怪的原因来存储所有的项目再也不会再次访问以该项目命名的单独分支机构;我还将所有可下载文件放在主分支中。Git:所有分支来分开文件夹

现在我想解决这个问题,并简单地将每个分支保存为主分支中的单独文件夹。我猜测解决方案是一个简单的bash脚本;但是,我不太确定。他们是一个简单的方法来执行此操作?

+0

““现在,我想解决这个问题,只是有保存在主分支一个单独的文件夹每个分支。” - 这是没有意义的。 – djechlin

回答

1

东西沿着这些线路可能会帮助

BRANCHES=$(git branch -a | cut -c 3- | grep -v "master") 
for BRANCH in $BRANCHES 
do 
    git checkout $BRANCH 
    CONTENTS=$(ls) 
    mkdir $BRANCH 
    mv $CONTENTS $BRANCH 
    git add -A 
    git commit -m "Integrated $BRANCH" 
    git checkout master 
    git merge $BRANCH 
done 
+1

我假设你有'BRANCHES = $(git branch -a | cut -c 3- | grep -v“master”)''上面的某处? (它基本上列出除主人以外的所有分支,并删除填充和星号符号) –

+1

非常棒,我会将它添加到脚本中。谢谢 –

+1

不要使用'git branch',而应使用'git for-each-ref'。 –