2011-05-16 22 views

cevap

14

Aşağıdaki yapabilirsiniz:

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

... Yerel bir dalı experiment için. Uzak origin ile bahsettiğiniz depoda olan bir dal için, benzer şekilde, aşağıdakileri yapabilirsiniz:

git show remote/branchname:path/to/file 

doğrudan kaydetmek istiyorsanız

, bu kudreti

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

Bir referanstan belirli bir dosyayı kontrol etmek seçebilir :

git checkout branch_or_hash path/to/file

akım dal aynı kalacak, ancak diğer dosya da mevcut olacaktır. Ayrıca endekse eklenecektir.

+0

. Göreceğiz, sanırım :) –

+0

Ah, yorumunuzun gerçekten daha anlamlı olduğunu düşünüyorum. – Bruno

3

Evet kullanışlı:

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 
} 

Düzenleme: ...

aşağıdaki gibi kullanmak hangi
git_showfile path/to/file 

veya

git_showfile path/to/file 237f723edcb89 

vb

ben "ihracat" tarafından, OP başka bir kopyasını koyarak ve önceden olduğu gibi deponun çalışma kopyasını ve dizini bırakarak anlamına farz
İlgili konular