Git समुदाय अगल-बगल भिन्नता को नजरअंदाज क्यों करता है [बंद]


33

मैं विंडोज, एसवीएन, कछुआ एसवीएन और बियॉन्ड तुलना का उपयोग करता था। कोड रिव्यू करने के लिए यह एक बेहतरीन संयोजन था।

अब मैं OSX और Git का उपयोग करता हूं। मैं Gitx और DiffMerge के साथ एक बश लिपि को एक साथ रखने के लिए एक मुश्किल स्वीकार्य समाधान के साथ आने में कामयाब रहा हूं।

मैंने इस सेटअप के साथ, और इसी तरह के लोगों के लिए एक साल से अधिक समय तक काम किया है। मैंने गितुब डिफ व्यूअर और गितक्स डिफ व्यूअर का उपयोग करने की भी कोशिश की है, इसलिए ऐसा नहीं है कि मैंने उन्हें मौका नहीं दिया है।

Git के साथ बहुत सारे लोग बहुत अच्छे काम कर रहे हैं। संपूर्ण फ़ाइल देखने के विकल्प के साथ साइड-बाय-साइड क्यों नहीं है? उन लोगों के साथ, जिन्होंने दोनों का उपयोग किया है, मैंने कभी भी किसी को नहीं सुना है जो एकल +/ को पसंद करता है, कम से कम एक त्वरित जांच से अधिक के लिए।


आप TiffoiseGit का उपयोग डायफ़ंड की तुलना में परे करने के लिए कर सकते हैं, इस स्थिति में आप पूरी फ़ाइल को साथ-साथ देखेंगे (हालाँकि मैंने कभी भी इस सेटअप का व्यक्तिगत रूप से परीक्षण नहीं किया था [लेकिन इन दिनों में से एक की योजना])।
Wildpeaks

1
बस एक टिप्पणी, मैं विंडोज, एसवीएन और बियॉन्ड तुलना का उपयोग करने के लिए उपयोग करता हूं। लेकिन, अब मैं उबंटू + गिट का उपयोग करता हूं। सौभाग्य से, मैं अभी भी अपने पुराने दोस्त बियॉन्ड तुलना का उपयोग कर सकता हूं। यह उबंटू पर ठीक काम करता है। और मुक्त नहीं है, यह मेरे लिए हर पैसा लायक है। :) क्षमा करें, मैं आपको OSX पर एक समाधान की पेशकश नहीं कर सकता, लेकिन लोग यह नहीं सोचना चाहते थे कि बियॉन्ड तुलना एक विंडोज-केवल समाधान था।
डेविड एस

7 साल बाद, मैं अभी भी कुछ हद तक इस तरह से महसूस करता हूं, लेकिन मैंने खुद को प्रशिक्षित किया है कि इनलाइन को अलग-अलग लेकिन सबसे जटिल मामलों में पसंद किया जाए। फिर मैं अपने पुराने दोस्त बियोंड की तुलना करता हूं।
काइल हिरोनिमस

जवाबों:


19

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

मैं OS X पर git के साथ DiffMerge का उपयोग करता हूं, और मुझे किसी भी बैश शेल का सहारा नहीं लेना पड़ा है। यह बहुत मुश्किल था, लेकिन मैंने डिफमार्गर को सीधे कॉल करने के लिए गिट्स के डिफटूल और मेरिजेट सेटिंग्स को कॉन्फ़िगर किया, और मैं अब एक उत्कृष्ट, विज़ुअल थर्ड पार्टी टूल में मर्ज संघर्षों को अलग-अलग देख और हल कर सकता हूं।

यहाँ मेरा विन्यास है:

[mergetool "diffmerge"]
        cmd = "diffmerge --merge --result=\"$MERGED\" \"$LOCAL\" \"$(if test -f \"$BASE\"; then echo \"$BASE\"; else echo \"$LOCAL\"; fi)\" \"$REMOTE\""
        trustExitCode = false
[difftool "diffmerge"]
        cmd = diffmerge \"$LOCAL\" \"$REMOTE\"
[merge]
        tool = diffmerge
[diff]
        tool = diffmerge

1
यह ठीक है, लेकिन जब कई फाइलें बदल जाती हैं, तो मुझे एक बार में उन्हें देखने के लिए मिलता है, इस क्रम में गिट मुझे उन्हें दिखाने का फैसला करता है। मुझे एक दूसरे को खोलने के लिए बंद करना चाहिए। इसलिए मैं बैश स्क्रिप्ट का भी उपयोग करता हूं, जब मैं एक बार सभी फाइलों को देखना चाहता हूं।
काइल हिरोनिमस

मुझे नहीं पता कि आप "उन सभी को एक साथ देखने" के संदर्भ में क्या देखने की उम्मीद कर रहे हैं। लेकिन जांच करें git diff --stat। आपको परिवर्तित लाइनों की संख्या के साथ, सभी परिवर्तित फ़ाइलों की एक अच्छी चित्रमय सूची देता है।
दान रे

इस बारे में थोड़ा और सोचना "एक ही बार में उन सभी को खोलें" ... एक बार में आप कितनी फ़ाइलों को संपादित / देख सकते हैं? मैं किसी भी क्षण केवल एक फ़ाइल को देख सकता हूं। मुझे लगता है कि मुझे अभी वह नहीं मिला है जो आप चाहते हैं कि यह होगा।
दान रे

2
बियॉन्ड तुलना के साथ TortoiseSVN सबसे अच्छा उदाहरण है। उदाहरण के लिए, यदि मेरे सहकर्मी की अंतिम प्रतिबद्धताओं में 3 फाइलें हैं, तो यह तीन फाइलों को एक सूची में दिखाएगी। फिर मैं अंतर देखने के लिए उपयुक्त फ़ाइल पर क्लिक कर सकता हूं। मैं 3 अलग विंडो खोल सकता था, हर एक अलग फाइल के साथ। फिर मैं उनके बीच आगे और पीछे जा सकता हूं, जैसा कि परिवर्तन की जांच करने की आवश्यकता है। मूल रूप से, यह आपको अपनी शर्तों पर सभी परिवर्तनों को देखने की अनुमति देता है, क्रमिक रूप से आपके vcs द्वारा निर्धारित क्रम में नहीं।
काइल हिरोनिमस

1
तुम्हें पता है, आपको टॉवर की जांच करनी चाहिए। यह सबसे अच्छा मैक गिट है जिसे मैंने कभी देखा है, और वह करता है जिसके बारे में आप बात कर रहे हैं और अधिक। git-tower.com
Dan Ray

16

आप देखेंगे कि SVN स्वयं एक साइड-बाय-साइड समाधान की पेशकश नहीं करता है, या तो। आपके द्वारा सूचीबद्ध तृतीय-पक्ष उपकरण हैं। जैसा कि अधिकांश चीजों के साथ होता है, यह असाधारण रूप से विन्यास योग्य है, और इसमें बॉक्स से महान टूल सपोर्ट है। क्या आपके पास एक मेरिजेट सेट अप है? यदि नहीं, तो आपको करना चाहिए। यदि आप करते हैं, तो प्रयास करें git difftool। फिर कॉन्फ़िगर विकल्पों के लिए मैन पेज पर एक नज़र डालें ।

मैं केडीआईफ़ 3 को अपने मेरिजटूल के रूप में उपयोग करता हूं क्योंकि यह एक अच्छा, क्रॉस-प्लेटफ़ॉर्म टूल है, और आगे कोई कॉन्फ़िगरेशन नहीं है, git difftoolबिल्कुल वही करता है जो आप पूछ रहे हैं।


2
वास्तव में, यह difftool के साथ ठीक है, लेकिन अभी भी बहुत सारी फ़ाइलों को देखते समय विफल रहता है। उन्हें एक समय में एक खोला जाना चाहिए। उन सभी को एक ही बार में खोलने के लिए, मुझे स्क्रिप्ट हैक करना है।
काइल हिरोनिमस

9

यह * निक्स दर्शन है। इन उपकरणों का उपयोग करने वाले बहुत से लोग टर्मिनल में बहुत समय बिताते हैं। टर्मिनल को हमें अपने हाथों को कीबोर्ड से माउस तक ले जाने की आवश्यकता नहीं है। मुझे पता है कि मैं दृश्य अंतर / मर्ज टूल के लिए +/- शैली पसंद करता हूं, ज्यादातर इसलिए क्योंकि मैं केवल मतभेदों के बारे में परवाह करता हूं। मैं परिवर्तन और परिवर्तन के चारों ओर 3-4 लाइनों की परवाह करता हूं। अधिक कुछ भी अतिरिक्त जानकारी है जो वास्तव में मेरी मदद नहीं करता है।

डिफ का आमतौर पर उपयोग किए जाने वाले बदलाव पर त्वरित रूप से देखने के लिए किया जाता है। कोड को पढ़ने के लिए नहीं।

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


1
vimdiff ठीक है, यह आमतौर पर केवल आपको भागों को दिखाता है। मैं इसे मर्ज के लिए उपयोग करता हूं; कोई माउस आवश्यक नहीं
वैकल्पिक

8
क्या आप कभी किसी सहकर्मी द्वारा किए गए परिवर्तनों को देखते हैं? कोड के क्षेत्रों से आप परिचित नहीं हैं? मैं हर समय करता हूं, और मैं इसे बिना पक्ष की कल्पना नहीं कर सकता, सभी कोड। मेरे लिए, +/- द्वारा किए गए परिवर्तनों के लिए महान है, लेकिन दूसरों के लिए नहीं। यह न कहना कि आप गलत हैं या बुरे या कुछ भी। सिर्फ पूछ रहे।
काइल हिरोनिमस

1
मैं अक्सर सहकर्मियों द्वारा परिवर्तित कोड में उछाल देता हूं, अक्सर उन क्षेत्रों में जो मैं परिचित नहीं हूं। मुझे लगता है कि मैंने कभी-कभी 3 या 4 बार साइड का उपयोग किया है, और आसानी से बिना कर सकता था। यह सिर्फ इस बात पर निर्भर करता है कि आपकी पसंदीदा ऑपरेटिंग स्टाइल क्या है। यह आपके लिए काम करता है, मुझे यह अनावश्यक लगता है।
ब्रायन नोब्लुच

0

मेरे व्यक्तिगत उपयोग से, मुझे लगता है कि इसका उत्तर ज्यादातर यही है कि भिन्नता इतनी कम है कि इससे कोई फर्क नहीं पड़ता।

कोड समीक्षाओं के लिए, मैं एक पूर्ण-फ़ीचर्ड कोड-समीक्षा टूल का उपयोग करता हूं, जिससे मुझे वह सभी चीजें मिलती हैं जो मुझे पसंद हैं - जैसे कि टिप्पणियाँ, वाक्य रचना हाइलाइटिंग, और साइड-बाय-साइड व्यू।

git diffजब मैं मचान कोड करने के दौरान लगभग विशेष रूप से उपयोग करता हूं ; जब ऐसा होता है, तो अंतर काफी छोटा होता है, और हाल ही में पर्याप्त, कि मुझे यह देखने के लिए संदर्भ देखने की आवश्यकता नहीं है कि क्या चल रहा है।

मेरा चुनाव-समीक्षा उपकरण Phabricator , या संभवतः IDE- एकीकृत उपकरण, जो भाषा के संदर्भ में जागरूक हैं। मुझे लगता है कि जीथब का पुल-अनुरोध प्रवाह कोड-समीक्षा के लिए भयानक है, ज्यादातर क्योंकि यह एकीकृत रूप से दिखाता है और साइड-बाय-साइड नहीं है।

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