2011-05-16 17 views
13

से एक फ़ाइल निर्यात करें क्या उस शाखा को चेक किए बिना अलग-अलग गिट शाखा (स्थानीय या दूरस्थ) से एक फ़ाइल निर्यात करने का कोई आसान तरीका है?एक अलग गिट शाखा

उत्तर

14

आप निम्न कार्य कर सकते हैं। एक शाखा भंडार आप दूरस्थ 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

वर्तमान शाखा ही रहेगा, लेकिन अन्य फाइल भी उपस्थित रहेंगे। इसे इंडेक्स में भी जोड़ा जाएगा। एक स्थानीय शाखा experiment के लिए ...

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

:

+0

मैं मान लिया है कि "निर्यात" द्वारा, ओपी कहीं और एक प्रति डालने और भंडार के काम की नकल और सूचकांक छोड़ने के रूप में वे पहले थे मतलब। हम देखेंगे, मुझे लगता है :) –

+0

आह, मुझे लगता है कि आपकी व्याख्या वास्तव में और अधिक समझ में आता है। – Bruno

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 

आदि

संबंधित मुद्दे