在http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.all.html到my answer我提出了一个需要签出临时工作树的解决方案,但它必须安全地执行,而不会以任何方式破坏源存储库。特别是,该操作必须安全地与其他git操作同时运行。我相信它可以完成,并没有在答案中详细说明,然后必须提供一个评论,说明如何做到这一点。这个自我回答的问题填补了这个空白。
答案 0 :(得分:1)
下面的脚本会检查当前目录中的工作树,而不会以任何方式影响源存储库(特别是它可以在没有写访问权限的存储库上执行,例如属于另一个用户的存储库)。 / p>
用法:
git-checkout-tmp-worktree ~/myrepo1
git-checkout-tmp-worktree ~/myrepo1 HEAD^^
示例:
#!/usr/bin/env bash
if [[ $# -eq 0 || $# -gt 2 ]]
then
echo >&2 "Usage: $(basename "$0") repo_path [revision]"
exit 1
fi
repo="${1}"
revision="${2:-HEAD}"
tmpdir="$(mktemp -d)"
trap "rm -rf '$tmpdir'" EXIT
GIT_INDEX_FILE="$tmpdir/index" git --git-dir="$repo"/.git checkout "$revision" .
<强> git的结帐-TMP-worktree 强>:
ItemsSource