Git में पूर्ण संस्करण ट्री को देखना


114

मैं Git और gitk के कमांड लाइन संस्करण का उपयोग कर रहा हूं। मैं पूर्ण संस्करण ट्री देखना चाहता हूं, न कि केवल वह भाग जो वर्तमान में चेक आउट किए गए संस्करण से उपलब्ध है। क्या यह संभव है?

जवाबों:


79

आप निम्नलिखित की कोशिश कर सकते हैं:

gitk --all

आप बता सकते हैं कि gitkजो कुछ भी git rev-listसमझ में आता है उसका उपयोग करके प्रदर्शित करें , इसलिए यदि आप कुछ शाखाएँ चाहते हैं, तो आप ऐसा कर सकते हैं:

gitk master origin/master origin/experiment

... या अधिक विदेशी चीजें जैसे:

gitk --simplify-by-decoration --all

291

यदि आपके पास एक ग्राफिकल इंटरफ़ेस उपलब्ध नहीं है, तो आप कमांड लाइन पर प्रतिबद्ध ग्राफ का प्रिंट आउट भी ले सकते हैं:

git log --oneline --graph --decorate --all

यदि यह आदेश एक अवैध विकल्प के साथ शिकायत करता है - ऑनलाइन, उपयोग:

git log --pretty=oneline --graph --decorate --all

6
जब हम gitl है जो gitk की जरूरत है! उर्फ गिट्ल = 'गिट लॉग - ऑनलाइन --ग्राफ
थंडर रैबिट

10
alias gl='git log --oneline --graph --decorate --all'। आवश्यकता से अधिक क्यों टाइप करें?)
दाना वुडमैन

मुझे उम्मीद है कि टैब पूरा होने से पहले कमांड लाइन संक्षिप्तियों का आविष्कार किया गया था। वे केवल उन लोगों को लाभान्वित करते हैं जो उन आदेशों का उपयोग करते हैं और जो पागल यादों के साथ हैं।
१17

121
  1. जब मैं टर्मिनल के साथ अपने कार्य स्थान पर होता हूं, तो मैं उपयोग करता हूं:

    git log --oneline --graph --color --all --decorate

    यहां छवि विवरण दर्ज करें

  2. जब OS GUI का समर्थन करता है, मैं उपयोग करता हूं:

    gitk --all

    यहां छवि विवरण दर्ज करें

  3. जब मैं अपने घर विंडोज पीसी में होता हूं, तो मैं अपने खुद के GitVersionTree का उपयोग करता हूं

    यहां छवि विवरण दर्ज करें


मेरे लिए बिल्कुल सही जवाब। मेरा OS GUI का समर्थन करता है इसलिए दूसरा विकल्प मेरा जाने का तरीका है, लेकिन मुझे कहना है कि मैं बस कमांड लाइन से ग्राफ को बहुत जल्दी से देखना चाहता हूं: क्या पहले संस्करण से उन सभी स्विच टाइप करने से बचने का कोई तरीका है, या आप बस फिर से- उन्हें हर समय टाइप करें? धन्यवाद।
rchrd

1
@rchrd मैं उन्हें उर्फ ​​के रूप में चलाकर चलाऊंगा git config --global alias.ver "log --oneline --graph --color --all --decorate"और git verउसके बाद ही टाइप करना होगा।
चेकसम

23

वहाँ एक है बहुत अच्छा जवाब एक ही सवाल का।
निम्नलिखित पंक्तियों को "~ / .gitconfig" में जोड़ना:

[alias]
lg1 = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n''          %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
lg = !"git lg1"

5

खटमल के जवाब पर टिप्पणी करने के लिए प्रतिष्ठा पर्याप्त नहीं है, इसलिए:

यदि आपको शाखा या टैग नाम की आवश्यकता नहीं है:
git log --oneline --graph --all --no-decorate

यदि आपको रंग की आवश्यकता नहीं है (पाइप के बाहर जाने पर कुंजी अनुक्रम से बचने के लिए):
git log --oneline --graph --all --no-decorate --no-color

जीवन को आसान बनाने के लिए आप उपनाम (। Inconconfig) का उपयोग करना चाह सकते हैं:

[alias]
  tree = log --oneline --graph --all --no-decorate

केवल अंतिम विकल्प प्रभावी होता है, इसलिए आपके उपनाम को ओवरराइड करना भी संभव है:
git tree --decorate

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