स्वरूपण के साथ एक 'Git लॉग' उपनाम बनाने

वोट
2

मैं पहले ही अपनी .bash_profile कि सही ढंग से काम में स्थापित Git उपनाम का एक समूह है:

alias gst=git status
alias gl=git pull
alias gp=git push
alias gd=git diff | mate
alias gc=git commit -v
alias gca=git commit -v -a
alias gb=git branch
alias gba=git branch -a

मैं निम्न आदेश के लिए उपनाम जोड़ने की कोशिश कर रही है, लेकिन एक त्रुटि में चालू रखने के:

git log --all --pretty=format:'%h %cd %s (%an)' --since='7 days ago'

मैं क्या करना चाहते हैं क्या, टाइप करने में सक्षम हो गया है:

glog 'some amount of time'

तो, दोनों उपनाम और Git पर नया किया जा रहा है, मैं समझ यह काम करेगा:

alias glog=git log --all --pretty=format:'%h %cd %s (%an)' --since=

यह निम्न त्रुटि फेंकता है:

fatal: ambiguous argument '7 days ago': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

मैं अपने उर्फ ​​कैसे सही कर इस काम करने के लिए कर सकते हैं?

धन्यवाद!

[संपादित करें]

मैं अगर मैं करने के लिए उपनाम परिवर्तित यह काम कर सकते हैं:

alias glog=git log --all --pretty=format:'%h %cd %s (%an)'

और फिर बस में टाइप करें:

glog --since='some amount of time'

लेकिन मैं वास्तव में सिर्फ समय की मात्रा टाइप करने के लिए यदि संभव हो तो करना चाहते हैं।

18/09/2013 को 13:41
उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
7

इसके बजाय, आप में एक समारोह बना सकते हैं .bash_profile। यह आप चर का उपयोग करने की अनुमति देगा:

glog ()
{
        git log --all --pretty=format:'%h %cd %s (%an)' --since="$1"
}

और यह हमेशा की तरह की तरह कहते हैं:

glog "7 days ago"

त्वरित अनुवर्ती: कैसे मैं भी --author = "इतने-से-तो" झंडा जोड़कर की संभावना अनुमति देने के लिए समारोह बदल जाएगा? के रूप में में, मैं glog "7 दिन पहले" या ब्लॉग "7 दिन पहले" टाइप कर सकते --author = "बॉब"

मैं की तरह के रूप में इस प्रकार करना होगा:

glog ()
{
    if [ -z "$2" ]; then
       git log --all --pretty=format:'%h %cd %s (%an)' --since="$1"
    else
       git log --all --pretty=format:'%h %cd %s (%an)' --since="$1" --author="$2"
    fi
}

तो आप इसके साथ कॉल कर सकते हैं

glog "7 days ago"
glog "7 days ago" "bob"

ध्यान दें कि if [ -z "$2" ]; thenहालत अगर दूसरा पैरामीटर रिक्त है जाँच कर रहा है। यदि हां, तो बस बिना कोड निष्पादित करता है author। अन्यथा, यह इसे इस्तेमाल करता है।

18/09/2013 को 13:45
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more