3
假设有多个分支,我想要一个文件层次结构,我可以在我的IDE中浏览该文件,以显示与分支关联的文件和文件夹。从git分支创建符号链接文件层次结构
可能有一些技巧和难题我必须弄清楚,例如,是否可以显示已在分支中编辑过的文件,但排除其他分支的合并? [全部](符号链接到所有 -
(基于分支)
[分支]
[BRANCH2]
[店3]
'的根目录结构文件在一个桶中)
` - [PATH \ SYMLINK](目录路径+符号链接)
` - [PATH \ SYMLINK]
注:
Git: How do I list only local branches?
git for-each-ref --format='%(refname:short)' refs/heads/
脚本进行
#!/bin/bash
BRANCHDIR='/path/to/where/symlinks/go'
MASTER='master'
CODEDIR='/path/to/sourcecode'
OLDPATH=`pwd`
BRANCHDIRS=`git for-each-ref --format='%(refname:short)' refs/heads/ | xargs echo`
for i in $BRANCHDIRS;
do
BRANCHFILES=`git diff --name-only $i $MASTER`
mkdir -p $BRANCHDIR/$i $BRANCHDIR/$i/all
for j in $BRANCHFILES;
do
mkdir -p $BRANCHDIR/$i/$(dirname $j)
ln -s $CODEDIR/$j $(basename $j) -t $BRANCHDIR/$i/$(dirname $j)
ln -s $CODEDIR/$j $(basename $j) -t $BRANCHDIR/$i/all/$(basename $j)
done
done
cd $OLDPATH
谢谢!这真的很酷。手动使用很有意义,效果很好。 – Justin
'git-new-workdir'已被'git-worktree'取代,请参阅:http://nuclearsquid.com/writings/git-new-workdir/ – Roberto