git with गिट में फ़ाइल के इतिहास के माध्यम से कदम; P4v टाइमलैप्स के समान




integrate git bash with visual studio code (7)

यदि आप चाहते थे तो आप कुछ भी इस्तेमाल कर सकते हैं जैसे कि आप चाहते हैं - किसी विशेष फ़ाइल के लिए उसका इतिहास दृश्य आपको दिखाता है कि प्रत्येक फ़ाइल को कब और किसके द्वारा संपादित किया गया था, और आपको उस लिंक के लिए उस फ़ाइल का अंतर देखने के लिए उपयोगी लिंक देता है, उस कमेटी में फ़ाइल का वर्तमान संस्करण, आदि।

मैं फ़ाइल के इतिहास की जांच करते समय मदद के लिए एक उपकरण की मांग कर रहा हूं। विशेष रूप से, मैं फ़ाइल की संपूर्ण सामग्री को देखना चाहता हूं, लेकिन समय के साथ पीछे की ओर कदम बढ़ा सकता हूं। सजावट के लिए अतिरिक्त खुशी पिछले रिवाइव या कुछ अन्य निर्दिष्ट रेव से अंतर को दर्शाती है।

वर्तमान में मैं git blame उपयोग करता हूं, और यह देख सकता हूं कि प्रत्येक वर्तमान लाइन में क्या परिवर्तन हुए। फिर मुझे उस फ़ाइल के लिए किसी विशेष कमिट के साथ एक दर्शक को फिर से जारी करना होगा। यह श्रम गहन है, और यदि कोई उपकरण पहले से ही इसे स्वचालित करता है तो मैं इसका उपयोग करना पसंद करूंगा!

Perforce का टाइमलैप्स दृश्य आज तक का सबसे अच्छा उपकरण है जिसे मैंने इस कार्य के लिए देखा है।


gitk -- filename को वही करना चाहिए जो आप चाहते हैं, यदि आप बीच में संदर्भ की पंक्तियों को किक करते हैं, और संशोधन के माध्यम से ऊपर और नीचे स्क्रॉल करते हैं।



यदि आप Visual Studio का उपयोग कर रहे हैं, तो CodeLineage अच्छा है।

https://visualstudiogallery.msdn.microsoft.com/bb3d22aa-29bf-41e1-acc9-92482bee4646

मुझे यह पसंद है कि जोनाथन Aquino द्वारा Git Time-Lapse आपको प्रतिबद्ध टिप्पणी दिखाता है, लेकिन CodeLineage अच्छा है क्योंकि यह Visual Studio में एकीकृत है और आप अपने द्वारा किए गए दो संशोधनों का चयन कर सकते हैं, बजाय इसके पिछले संशोधन के प्रत्येक संशोधन की तुलना करने के बजाय।


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

संपादित करें: मैं अंत में इसे Github पर जारी करने के लिए चारों ओर मिल गया है।

इसका मूल यह है (छद्म कोड):

  • रन git log --date=raw -- filename
  • commit और Date: लाइनों के लिए आउटपुट खोजें।
  • प्रत्येक कमिट-आईडी के लिए:
    • रन git show commit-id ./filename > target-filename

लक्ष्य-फ़ाइल नाम का निर्माण कमेटी-आईडी, टाइमस्टैम्प और / या अनुक्रमिक सूचकांक के कुछ संयोजन से किया गया है।

परिणाम हो सकता है, उदाहरण के लिए, फ़ाइलों का एक गुच्छा:

foo__001.txt
foo__002.txt
foo__003.txt

जहां प्रत्येक git रिपॉजिटरी से foo.txt का एक संस्करण है। मैं तब प्रत्येक फ़ाइल को देख सकता हूं और / या इसके लगातार संस्करणों को अलग कर सकता हूं।

यह आपको वह सब कुछ नहीं देता जो आप माँग रहे हैं, लेकिन यह एक अच्छी शुरुआत होनी चाहिए।


git gui blame एक विकल्प है, हालाँकि यह उतना अच्छा नहीं है।

gc_storage से gc_storage के लिए उदाहरण:

git gui blame --line=155 library/cloud/gc_storage

एक पंक्ति पर राइट-क्लिक करें और समय में वापस जाने के लिए ब्लेम पैरेंट कमिट का चयन करें, शीर्ष बाएं में दृश्य इतिहास तीर के साथ और अधिक हाल के परिवर्तनों पर वापस लौटना।


Tig , गिट के लिए एक टेक्स्ट मोड इंटरफेस, एक दोषपूर्ण दृश्य प्रस्तुत करता है जो इस कार्यक्षमता को प्रदान करता है:

  • किसी दिए गए लाइन ( बी कुंजी) के समय के लिए पीछे की ओर कदम रखें।
  • किसी दी गई पंक्ति ( , कुंजी) के मूल वचन के लिए पीछे की ओर कदम रखें।
  • समय के लिए आगे की ओर लौटते हुए आप पहले ( < की) थे।

यह पैरेंट कमेटी के लिए कदम रखते समय देखने के स्थान को संरक्षित नहीं करता है (ऐसा लगता है कि लाइन के कमिट का उपयोग करते समय)।







git