2015-11-19 38 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'。 –