2011-05-16 15 views

回答

14

你可以做到以下几点:

git show experiment:docs/README.txt > /tmp/exported-README.txt 

...的本地分支experiment。对于一个分支,是在你指的是与远程origin库,你可以做到以下几点,同样:

git fetch origin 
git show origin/other-experiment:docs/README.txt > /tmp/exported-README-remote.txt 
2

您可以选择从参考签出特定文件:

git checkout branch_or_hash path/to/file

当前分支将保持不变,但其他文件也将出席。它也将被添加到索引中。

+0

我假定由“出口”,在OP意味着把一个在其他地方复制和离开仓库的工作副本和索引以前一样。我们会看到,我猜:) – 2011-05-16 13:43:32

+0

啊,我认为你的解释确实更有意义。 – Bruno 2011-05-16 13:48:36

3

git show remote/branchname:path/to/file 

如果您想直接保存它,这可能派上用场:

git_showfile() 
{ 
    if [ $# -lt 1 ]; then 
     return 255; 
    fi; 
    local fspec="$1"; 
    shift; 
    local fname="$(basename "$fspec")"; 
    local fpath="$(dirname "$fspec")"; 
    local revision=HEAD; 
    if [ $# -ge 1 ]; then 
     revision="$1"; 
    fi; 
    if [ -e "$fspec" ]; then 
     echo not overwriting existing file; 
    else 
     mkdir -pv "$fpath" && git show "$revision:$fspec" > "$fspec"; 
    fi 
} 

编辑: ...你如下

将使用
git_showfile path/to/file 

git_showfile path/to/file 237f723edcb89 

相关问题