Git:repo包含一个空目录
Git跟踪文件,而不是目录,而且我们目前不能add
空目录(标准技巧不会添加空目录,而是其中的文件,另请参阅常见问题解答)。
不过,一个git repo
可能包含一个空目录。 那么,我会克隆一个回购或检出一个包含空目录的分支? 它是否在工作树中创建?
要设置一个空目录的测试存储库,您可以使用以下脚本(在临时的directoy中运行它)。
但是,在检出时,空目录将被忽略。 在这里,Git只能处理文件,而不能处理目录,即使后者存在。
Github和tig
显示空目录, gitk
没有。
#!/bin/bash
set -e
echo ---- initialize the repo...
#rm -rf .git
git init
echo ---- create an empty tree object...
empty_tree=$(git mktree < /dev/null)
echo ---- create a parent tree containing the empty subtree...
root_tree_ls=$(echo -e 040000 tree $empty_treetvacuum)
root_tree=$(echo "$root_tree_ls" | git mktree)
echo ---- commit...
commit_msg="This commit contains an empty directory"
commit=$(git commit-tree $root_tree -m "$commit_msg")
echo ---- create a branch...
git branch master $commit
# output the ids:
echo ----------------------------------------------------
echo "empty tree:" $empty_tree
echo "root tree: " $root_tree
echo "commit: " $commit
链接地址: http://www.djcxy.com/p/1209.html