2012-03-14 12 views
34

यह मेरे साथ तुलना दृश्य के साथ-साथ मानक काम करता है जो फ़ाइलों की मात्रा में बड़े होते हैं।बड़े github प्रतिबद्ध diff

नीचे स्क्रीनशॉट 380 फ़ाइलों के साथ दो शाखाओं के बीच तुलना से है। Diff लॉग की शुरुआत में फ़ाइलों को उनके अंतर दृश्यमान होते हैं लेकिन पृष्ठ के नीचे एक निश्चित बिंदु पर यह diffs को विज़ुअलाइज़ करना बंद कर देता है। मैं समझता हूं कि आप बड़े पृष्ठों को नहीं चाहते हैं लेकिन मुझे व्यक्तिगत रूप से फ़ाइल के अंतर को देखने का कोई तरीका नहीं दिख रहा है। इसके बजाय मुझे इन दोनों को स्थानीय रूप से जांचना होगा और मैन्युअल रूप से diff करना होगा।

क्या किसी के पास कोई आसान समाधान है कि क्या यह सॉफ़्टवेयर संचालित है या (अधिमानतः) एक लिंक जिसे मैं जिथब पर लापता हूं?

Diff screenshot

+0

क्या आप इस बारे में कुछ और कह सकते हैं कि आप कौन से रेपो देख रहे हैं या यह गीथब के माध्यम से क्यों होना चाहिए? एक डीवीसीएस के रूप में, आमतौर पर किसी भी गिट रेपो में दिलचस्पी रखने वाले किसी भी व्यक्ति को पहले से ही रेपो क्लोन किया जाता है - और उस बिंदु पर मनमाने ढंग से भिन्न होना आसान होता है। – blahdiblah

+0

किसी ऐसे व्यक्ति के साथ diff साझा करना जिसमें रेपो या कोई गिट टूल इंस्टॉल नहीं है।एक diff तैयार करने और इसे प्रारूपित करने से उन्हें यूआरएल भेजने के लिए बहुत आसान होगा। – ryan

उत्तर

48

यूआरएल के अंत में .patch जोड़ना कुछ हद तक मदद करता है। निश्चित रूप से अच्छा यूआई और टिप्पणी कार्यक्षमता को हटा देता है।

एक उदाहरण। यदि आपका पुल अनुरोध है: https://github.com/JustinTulloss/zeromq.node/pull/47, तो पैच https://github.com/JustinTulloss/zeromq.node/pull/47.patch

+6

यह टिप्पणी अधिक ध्यान देने योग्य है। यूआरएल में। पैच जोड़ना आपको स्थानीय डिफ ​​को डाउनलोड किए बिना फ़ाइलों में बदलाव देखने की अनुमति देता है। – CrimsonX

+0

@CrimsonX: कौन सा यूआरएल? मुझे .patch के साथ काम कर रहे एक यूआरएल नहीं मिल रहा है। – FBB

+1

ईजी। https://github.com/simonlindholm/dotfiles/commit/ad9102462076b159a8e344f4a202dfb024c18ef4.patch। विचारों की तुलना करें भी काम करते हैं। –

6

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

git config --global diff.tool meld 
git difftool master..devel 
+0

ऐप्पल के अंतर्निर्मित [FileMerge] का उपयोग करने का एक और तरीका है (https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/opendiff.1.html) उपयोगिता '' 'git के माध्यम से config --global diff.tool opendiff''' –

34

ब्रायन लेविन @ जिथूब के माध्यम से 1 9 फरवरी/2013 के रूप में आधिकारिक समर्थन उत्तर।

हमारे पास पुल अनुरोध रखने और पृष्ठों के काम करने की तुलना करने के लिए ब्राउज़र में दिखाए गए अंतरों पर कुछ सीमाएं हैं। वर्तमान में, हम उन्हें 300 फाइलों, 1 एमबी का कुल अंतर, और 100 केबी के व्यक्तिगत अंतर में कटौती करते हैं।

यदि आपकी भिन्नता सीमा से अधिक है और ऑनलाइन नहीं देखी जा सकती है, तो आप हमेशा स्थानीय रूप से परिवर्तन खींच सकते हैं और वहां diff को देख सकते हैं। यह आपके लिए सुविधाजनक नहीं हो सकता है, लेकिन यह काम पूरा हो जाएगा।

1

सबसे अच्छी स्थानीय तुलना का उपयोग करने के लिए मैंने पाया है इंटेलिजे की तुलना में निर्मित है। टिप्पणियां जोड़ना एक दर्द है, लेकिन बाकी सब कुछ अच्छी तरह से काम करता है। निम्न चरणों का पालन:

  1. फ़ाइल में आपकी रुचि है पहचानें, कहते हैं कि "myClass.java"
  2. से नवीनतम खींचो अपने को विकसित करने और अपनी शाखा, कॉल यह compare_branch
  3. चेकआउट git checkout compare_branch द्वारा नवीनतम
  4. ओपन इंटेलिजे, और उस फ़ाइल को खोजने के लिए डबल-शिफ्ट पूर्णता का उपयोग करें, जिसे आप देखना चाहते हैं, उदाहरण के लिए shift-shift myclass.java इसे नेविगेट करने के लिए।
  5. इंटेलिजे के मेनू में, develop को चुनें जिसके साथ आप तुलना करना चाहते हैं।

उम्मीद है कि यह किसी और की मदद करेगा।