给定一个分支数,我希望有一个文件层次结构,可以在我的IDE中浏览与该分支相关联的文件和文件夹。
可能有一些技巧和陷阱需要我去解决,例如,是否可能显示已在分支内编辑的文件,但排除其他分支的合并?
根目录结构(基于分支)
[分支]
[分支2]
[分支3]
`--[全部](符号链接到一个桶中的所有文件)
`--[PATH\SYMLINK](目录路径+符号链接)
`--[PATH\SYMLINK]
注意: Git:如何仅列出本地分支?
脚本正在进行中
可能有一些技巧和陷阱需要我去解决,例如,是否可能显示已在分支内编辑的文件,但排除其他分支的合并?
根目录结构(基于分支)
[分支]
[分支2]
[分支3]
`--[全部](符号链接到一个桶中的所有文件)
`--[PATH\SYMLINK](目录路径+符号链接)
`--[PATH\SYMLINK]
注意: Git:如何仅列出本地分支?
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
git-new-workdir
已被git-worktree
替代,请参见:http://nuclearsquid.com/writings/git-new-workdir/ - Roberto