2012-04-19 21 views
5

मुझे एक गिट-ट्यूटोरियल वीडियो में याद है कि उपयोगकर्ता का टर्मिनल (शायद जेडएसएच) दो में विभाजित था; एक मानक टर्मिनल कमांड के लिए, और नीचे कि गिट लॉग ग्राफिकल प्रतिनिधित्व जैसे कुछ था। यह हमेशा अच्छे रंगों के साथ टर्मिनल के तल पर दिखाई देता था।गिट लॉग इन जेडएसएच टर्मिनल

terminal screen

टर्मिनल स्क्रीन को दो में विभाजित करना और टर्मिनल स्क्रीन पर गिट लॉग (git log --pretty=format:'%h : %s' --graph जैसा कुछ) प्रदर्शित करना संभव है?

अपडेट: मुझे वीडियो Vimeo, http://vimeo.com/16018419 पर मिला। मैं अपने जेडएसएच टर्मिनल पर एक ही सेटअप करने की कोशिश कर रहा हूं। गिट लॉग आउटपुट के लिए

+1

वीडियो की तरह वह GNU स्क्रीन में खिड़की विभाजन कर रहा है यह लग रहा है से। यदि आप 6:28 के आसपास देखते हैं, तो उसे किसी भी तरह से प्रदर्शन को मैन्युअल रूप से रीफ्रेश करना होगा। आप इसे मानक स्क्रीन स्प्लिट करके और कमांड को फिर से चालू करने के लिए क्यू/अप मारकर पूरा कर सकते हैं; आप शायद इसे लूप में भी चला सकते हैं जो स्वचालित रूप से हर 10 सेकंड या जो भी हो। – Dougal

+0

हां, ऐसा लगता है जैसे वह मैन्युअल रूप से रीफ्रेश कर रहा है। इस बिंदु पर, मैं मैन्युअल रीफ्रेश के साथ जा सकता हूं, कोई समस्या नहीं। क्या आप जीएनयू स्क्रीन को विभाजित करने के बारे में निश्चित हैं? मुझे लगता है कि वह कुछ और कर रहा है। यदि आप दाईं ओर स्क्रॉलबार देखते हैं, तो यह ऊपर से नीचे तक चलता है। और वह ताज़ा है, शेल कमांड नहीं लिख रहा है। मुझे नहीं पता, शायद आप सही हैं लेकिन मुझे लगता है कि वह कुछ अलग कर रहा है। –

+1

यदि आप टर्मिनल टाइटलबार देखते हैं, तो इसमें स्क्रीन दिखाई देती है, और उन स्थिति रेखाएं मुझे स्क्रीन की तरह दिखती हैं। और स्क्रॉलबार टर्मिनल.एप/iTerm.app में है, स्क्रीन नहीं, इसलिए यह समझ में आता है कि यह पूरी चीज को कवर करेगा। मुझे यकीन नहीं है कि वह कैसे ताज़ा कर रहा है (आप सही हैं कि यह एक शेल कमांड को पुन: चालू नहीं कर रहा है), लेकिन फिर से चलने का एक ही प्रभाव होना चाहिए ... हो सकता है कि उसके पास पृष्ठभूमि में एक पृष्ठभूमि प्रक्रिया हो और कुछ संपादक कर रहे हों फ़ाइल को पुनः लोड करने के लिए incantation (या संपादक के अंदर कमांड को फिर से चलाएं), सुनिश्चित नहीं है। – Dougal

उत्तर

6

tmux के साथ, आप विभाजित-फलक zsh -c while :; do sleep 60; git log ...; done कर सकते हैं और इसे एक फलक में स्वचालित रूप से रीफ्रेशिंग गिट लॉग आउटपुट प्राप्त करना चाहिए।

आपूर्ति [-vh] [प्रतिशत] टर्मिनल के दिए गए प्रतिशत के साथ विभाजित लंबवत या क्षितिज के लिए विभाजित-फलक के लिए। iirc, यह टर्मिनल के नीचे और/या दाएं तरफ से विभाजित होता है, इसलिए तदनुसार प्रतिशत समायोजित करें।

यह उचित आयामों और स्वचालित रूप से हर मिनट ताज़ा करने के साथ $ EDITOR (या नीचे) के बगल में एक गड्ढे में गिट लॉग रखने का वांछित प्रभाव होना चाहिए। अपनी आवश्यकताओं के अनुरूप वाक्यविन्यास को बदलने या साफ करने के लिए स्वतंत्र महसूस करें।

संपादित करें: टीएमयूक्स में एक फलक को सांस लेने से tmux 0inबनाया जा सकता है। आप एक सरल शॉर्टकट प्राप्त करने के लिए इस तरह एक महत्वपूर्ण कुछ बाध्य कर सकते हैं

बाँध कुंजी -n एम आर respawn फलक आयकर Git: 0.1 [आदेश]

इस उदाहरण में

, मैं 3 बातें मान। सबसे पहले, आपके पास एक नामित tmux सत्र है (नाम गिट है, लेकिन यह मनमाने ढंग से है और rename-session का उपयोग tmux में या new-session -s name के साथ सत्र लॉन्च करके) चुनने के लिए है। दूसरा, कि गिट लॉग (जो हम रीफ्रेश करना चाहते हैं) इंडेक्स 0 की खिड़की पर है (यह एक सत्र में खोला गया पहला विंडो है, डिफ़ॉल्ट रूप से, जब तक कि आप base-index को अन्य पर सेट न करें) और इंडेक्स का फलक 1.

तो यहां, यह alt-r दबाकर "गिट" सत्र में पहली विंडो के दूसरे फलक को राहत देता है। यदि आप पहले प्रदान किए गए लूप का उपयोग करते हैं, तो यह करने के लिए अनावश्यक है क्योंकि लॉग प्रत्येक नींद के बाद खुद को ताज़ा कर देगा। जिसे कुछ लोगों के लिए अपर्याप्त माना जा सकता है, इसलिए आप मनमाने ढंग से इस फलक को अपने शोक पर श्वसन करने का निर्णय ले सकते हैं।

[आदेश] वैकल्पिक है। tmux's respawn-pane उस आदेश को निष्पादित करेगा जो पहले दिया गया था जब फलक पहले बनाया गया था। इस उदाहरण में, यह डिफ़ॉल्ट रूप से while लूप होगा। यदि आप लूप को छोड़ते हैं और इसके बजाय बस split-pane [-hv] [percent] "git log ..." का उपयोग करें तो वैकल्पिक कमांड पैरामीटर प्रदान न करें क्योंकि फलक आपके लिए इसे स्मार्ट रूप से चलाएगा। respawn-pane पर कमांड पैरामीटर प्रदान करने से फलक को उत्पन्न करते समय प्रारंभिक कमांड पर प्राथमिकता दी जाएगी।

अंततः, यदि आप प्रारंभ में split-pane पर कमांड पैरामीटर प्रदान नहीं करते हैं, तो tmux default-command जो भी मान चलाएगा।

तो वहां आपके पास एक से अधिक वर्बोज़ स्पष्टीकरण है कि यह वीडियो कई तरीकों से क्या करता है।

2

git log --oneline --graph --decorate --color=always

टर्मिनल विभाजन सुविधा आपके कंसोल पर निर्भर करती है।

+0

मुझे गिट लॉग कमांड पता है। मैं उबंटू 12 और मैक ओएस एक्स 1.7 दोनों पर जेडएसएच का उपयोग करता हूं और मैं टर्मिनल को दो में विभाजित करने और टर्मिनल के नीचे गिट लॉग प्रदर्शित करने की तलाश में था। वैसे भी धन्यवाद :) –

+0

@BurakErdem आपका प्रश्न सुपरयूसर से संबंधित प्रतीत होता है। – KurzedMetal

1

ठीक है,

वह मैक पर iTerm उपयोग कर रहा है, विभाजन डिफ़ॉल्ट रूप से किया जाता है, तुम बस मेनू पर जाने या किसी छोटे आदेश का उपयोग करने की आवश्यकता है। आप इसे टर्मिनेटर के साथ उबंटू/लिनक्स पर ले जा सकते हैं। यदि आप gnome-terminal का उपयोग करना जारी रखना चाहते हैं, तो आप इसे अनुकरण करने के लिए स्क्रीन या tmux का उपयोग कर सकते हैं।

लॉग में, वह टिग (http://jonas.nitro.dk/tig/) का उपयोग कर रहा है: एक गिट ब्राउजिंग टूल। इसे आसान आसान स्थापित किया जा सकता है। जिस तरह से आप अपने लॉग को स्वत: अपडेट करने के लिए घड़ी का उपयोग कर सकते हैं, ताकि आप अपने टर्मिनल के दूसरे भाग पर "autolog" प्राप्त कर सकें। ;)

watch git log --graph 

यहाँ, मैं अपने कंसोल में tmux उपयोग कर रहा हूँ:

Using tmux with some applications

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