आप कमांड लाइन से SourceTree कैसे खोलते हैं?


82

क्या कमांड लाइन से सोर्सट्री में गिट रिपॉजिटरी खोलने का एक त्वरित और आसान तरीका है?

मैं टर्मिनल से बहुत सारे काम करता हूं, लेकिन कभी-कभी एक अच्छे इतिहास दृश्य / अंतर के लिए कोई प्रतिस्थापन नहीं होता है। बुकमार्क का उपयोग किए बिना खोलने में सक्षम होना पसंद करेंगे।

जवाबों:


110

SourceTree कमांड लाइन टूल इंस्टॉल करने से आपको कमांड मिलेगी stree। यह आपको SourceTree में वर्तमान निर्देशिका खोलने की अनुमति देगा।

sourcetree कमांडलाइन उपकरण

आप रेपो के लिए एक विशेष पथ भी निर्दिष्ट कर सकते हैं

stree ~/my-repo-in-another-folder

यदि कमांड-लाइन टूल इंस्टॉल करना किसी भी कारण से एक विकल्प नहीं है, तो आप निम्न कार्य भी कर सकते हैं:

open -a SourceTree path-to-file

और शायद .bashrc या .zshrc में एक अन्य नाम सेट करें

alias sourcetree='open -a SourceTree'

उन लोगों के लिए जो SourceTree 3 का उपयोग कर रहे हैं

alias sourcetree='open -a SourceTree\ 3'

9
आप कर सकते हैं अपने sourcetree उर्फ ​​git रिपॉजिटरी खोलने के लिए है कि वर्तमान कार्य निर्देशिका में इसे बदलकर alias sourcetree='open -a SourceTree ./'। इसके अलावा मैक उपयोगकर्ताओं में उर्फ जगह करना चाह सकते हैं.bash_profile
लेह मक्कलोच

37

लोस्चग द्वारा जवाब काम नहीं कर सकता है; कुछ लोगों को अपने सिस्टम लॉग का जिक्र करते हुए एक त्रुटि मिलती है और कमांड लाइन टूल स्थापित नहीं कर सकते हैं। इस बारे में एक खुला मुद्दा है।

वर्कअराउंड यहां पाया जाता है। उपयोग:

ln -s /Applications/SourceTree.app/Contents/Resources/stree /usr/local/bin/

यह streeबाइनरी के लिए एक प्रतीकात्मक लिंक बनाएगा और इसमें डाल देगा /usr/local/bin। सुनिश्चित करें कि निर्देशिका आपके पथ पर है: which streeपरिणाम में होना चाहिए /usr/local/bin/stree। यदि ऐसा नहीं होता है, तो इसे अपने PATHमैन्युअल रूप से जोड़ें या उपयोग करें echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile, जो आपके लिए करता है ( PATHचर को फिर से लोड करने के लिए अपने शेल को पुनरारंभ करें )।

उपर्युक्त मुद्दे के पृष्ठ पर, एक और समाधान जो मैंने परीक्षण नहीं किया था पोस्ट किया गया था alias stree='/Applications/SourceTree.app/Contents/Resources/stree':। यदि आप इसका उपयोग करते हैं, तो कृपया टिप्पणियों में रिपोर्ट करें कि क्या और कैसे काम करता है और आप इसे प्रतीकात्मक लिंक पर क्यों पसंद करेंगे।

दोनों तरीकों के लिए, करने के लिए पथ streeमें SourceTree.appनिश्चित रूप से जरूरी स्थान जहां स्थापित से मेल खाते हैं SourceTree.app

अब, streeइंस्टॉल किया गया है और इसे किसी भी निर्देशिका से एक्सेस किया जा सकता है। जब आपके शेल की वर्किंग डायरेक्टरी एक रिपॉजिटरी की रूट डाइरेक्टरी है, तो SourceTree खोलने का सबसे छोटा तरीका है stree .


मैं इस aliasपद्धति को पसंद करता हूं क्योंकि यह एक निर्देशिका में एक प्रतीकात्मक लिंक बनाने से कम "स्थायी" और अधिक "पोर्टेबल" लगता है जो पहले से ही अपेक्षाकृत पूर्ण है और ऐसा लगता है कि यह मेरे लिए स्वचालित रूप से प्रबंधित किया जा रहा है - होमब्रे को अपने सेलर से सामान समेटना पसंद है। इसके अलावा, SourceTree हाल ही में अपने UI में बदलाव कर रहा है जिसकी मैं सराहना नहीं कर रहा हूं, इसलिए मैंने इसके कई संस्करणों को केवल मामले में रखना शुरू कर दिया है। उपनाम (तों) का उपयोग करने से मुझे अधिक लचीलापन मिलता है कि मैं किस संस्करण को बैश में लक्षित करना चाहूंगा।
इलिया मोस्कविन

1
मुझे भी यह त्रुटि हो रही थी। मेरे लिए क्या काम किया: बस SourceTree को v3.0.1 (Sourcetree -> अपडेट के लिए जाँचें ...) को अपडेट करें। इसे अपडेट करने के बाद, कमांड लाइन टूल इंस्टॉल करना तब ठीक काम कर रहा था। : D (मेरी सॉरीट्री अभी भी v2.7.6 पर थी जब मुझे त्रुटि मिली)
बुजू

9

विंडोज पर आप में से उन लोगों के लिए, आप stree.batअपने PATH एनवायर्नमेंट वेरिएबल में एक फोल्डर के नाम की बैच फाइल जोड़ सकते हैं । (मेरे पास एक C:\batchफ़ोल्डर है जो मेरे PATH में है जहां मैं अपनी सभी उपयोगिता बैच फ़ाइलों को संग्रहीत करता हूं।) निम्नलिखित को अपनी बैच फ़ाइल में रखें:

@echo off
start "" "C:\Program Files (x86)\Atlassian\SourceTree\SourceTree.exe"

अब आप किसी भी Git या Mercurial रिपॉजिटरी में जा सकते हैं और इस कमांड को चला सकते हैं जो SourceTree में रिपॉजिटरी को खोल देगा।


3
FYI करें: मेरे मशीन सोर्स ट्री पर प्रोग्राम फाइल्स में, C: \ Users \ <user> \ AppData \ Local \ SourceTree में स्थापित नहीं है। शायद क्योंकि वे गिलहरी इंस्टॉलर का उपयोग कर रहे हैं?
केविन बेरिज

5

बैश कमांड लाइन (एमएसआईएस) पर गिट का उपयोग करने वालों के लिए एक और विंडोज समाधान।

अपने बैश में दो कार्य जोड़ें। लाभकारी:

# Courtesy: http://stackoverflow.com/questions/12015348/msys-path-conversion-or-cygpath-for-msys
function towinpath {
    { cd $1 && pwd -W; } | sed 's|/|\\|g'
}

function stree {
    if [ -z $1 ]; then
        stree_path=$(towinpath pwd)
    else
        stree_path=$(towinpath $1)
    fi

    echo "Starting SourceTree in $stree_path"

    /c/Program\ Files\ \(x86\)/Atlassian/SourceTree/SourceTree.exe -f $stree_path status
}

अपने खोल को फिर से लोड करें।

अब आप उपयोग कर सकते हैं:

$ towinpath /c/Temp

और यह गूंज उठेगा c:\Temp

या आप SourceTree खोल सकते हैं:

$ stree .

और यह इस रिपॉजिटरी को सोर्सट्री में स्टेटस पैनल में डिफॉल्ट करने के लिए खोल देगा।


बहुत अच्छे धन्यवाद! वहाँ भी एक Cygwin फ़ंक्शन है cygpath, जहाँ आप कुछ करने के लिए कुछ कर सकते हैं function towinpath { cygpath -w $(cd $1 && pwd); }। यह यूएनसी रास्तों जैसी चीजों को अधिक मजबूती से हैंडल करेगा।
eacousineau

2

यदि आपके पास साइबरविन स्थापित है, तो आप इसे अपने रूप में उपयोग कर सकते हैं stree.bat। यह बैच फ़ाइल अपने पूर्ण पथ cygpathको हल .करने के लिए उपयोग करती है , इसलिए आप कर सकते हैंstree .

@echo off
FOR /F "tokens=* USEBACKQ" %%F IN (`cygpath -w -a %1`) DO (
SET STREE_OPEN_PATH=%%F
)
%USERPROFILE%\AppData\Local\SourceTree\SourceTree.exe -f "%STREE_OPEN_PATH%"

-1

खिड़कियाँ

विंडोज के लिए यहां कई उत्तरों से अनुकूलन, ये स्क्रिप्ट आपको कमांड लाइन से चलने वाले सोर्सट्री (सोर्सट्री 3.0.1.7 / विंडोज 10 पर परीक्षण) प्राप्त करने की अनुमति देगा।

एक पथ निर्देशिका में लिपियों

मैंने इन दोनों लिपियों को एक फ़ोल्डर में रखा है जो कि मेरे सिस्टम PATH में है। आपको इस स्क्रिप्ट के लिए अपनी bash प्रोफ़ाइल को संशोधित नहीं करना पड़ेगा।

विंडोज के लिए गिट बैश

अपनी PATH लिंक की गई डायरेक्टरी में stree( touch stree) नाम की फाइल बनाएं और chmod u+x streeइस फाइल पर चलें ।

#!/bin/sh

function towinpath {
    { cd $1 && pwd -W; } | sed 's|/|\\|g'
}

if [ -z $1 ]; then
    stree_path=$(towinpath pwd)
else
    stree_path=$(towinpath $1)
fi

$LOCALAPPDATA/SourceTree/SourceTree.exe -f $stree_path log &

यदि आप SourceTree में अपनी रिपॉजिटरी के परिवर्तन / कार्यशील निर्देशिका दृश्य को पसंद करते हैं तो आप "लॉग" को "स्थिति" के साथ अंतिम पंक्ति में बदल सकते हैं।

कमांड प्रॉम्प्ट या पॉवर्सशेल

stree.cmdअपनी PATH लिंक की गई डायरेक्टरी में एक फाइल बनाएं ।

@echo off
start "" "%LOCALAPPDATA%\SourceTree\SourceTree.exe"

ध्यान दें कि यह वास्तव में एक रिपॉजिटरी के रूप में निर्देशिका को नहीं खोलेगा।

कृपया लिपियों को बेहतर बनाने के लिए स्वतंत्र महसूस करें, विशेष रूप से कमांड प्रॉम्प्ट के लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.