2012-11-25 22 views
6

मैंने अभी विंडोज पर गिट का उपयोग करना शुरू कर दिया है। मैं बिटबकेट पर होस्ट कर रहा हूं और विंडोज क्लाइंट के रूप में टोर्टोइस गिट का उपयोग कर रहा हूं।TortoiseGit में लॉग ग्राफ़ शाखा/विलय नहीं दिखा रहा है?

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

अब जब मैं 'लॉग दिखाएँ' करता हूं और 'सभी शाखाएं' चुनता हूं, तो मुझे ग्राफ में सीधी रेखा मिलती है। जब शाखा निकाली गई थी, और जब यह वापस विलय हो गया था, तब से कोई जानकारी नहीं है। कृपया मुझे यह जानकारी ढूंढें।

Version graph

उत्तर

6

शायद है ऐसा इसलिए है क्योंकि अपने मर्ज एक तेजी से आगे मर्ज, जिसका अर्थ है वहाँ थे कि नहीं किसी भी समय के बीच में master करने के लिए किया करता है जब codetidy बनाया गया था और जब यह में वापस विलय हो गया - इसलिए गिट मददगार रूप से एक ही प्रतिबद्धता को इंगित करने के लिए master को स्थानांतरित करता है (क्योंकि इसमें पहले से ही एक ही फ़ाइल सामग्री है जो एक विलय की तरह दिखती है), अनावश्यक विलय प्रतिबद्धता बनाने के बजाय।

यदि आप यह व्यवहार नहीं चाहते हैं, तो आपको कम विलय प्रतिबद्धता बनाने के लिए गिट को मजबूर करने की आवश्यकता होगी - कमांड लाइन पर, यह git merge --no-ff के साथ किया जाता है। टोर्टोइज गिट में, यह मर्ज विंडो में "नो फास्ट फॉरवर्ड" चेकबॉक्स की जांच करके किया जाता है (स्क्रीनशॉट के लिए this previous StackOverflow answer देखें)।

+0

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

+1

फिर 'मास्टर' उसी स्थान पर इंगित रहेगा जो वर्तमान में दोनों शाखाएं इंगित करती हैं। गिट में शाखाएं बस संकेतक हैं; वर्तमान में आपके पास एक ही प्रतिबद्धता की ओर इशारा करते हुए दो पॉइंटर्स हैं। यदि आप पॉइंटर्स में से किसी एक को हटा देते हैं, तो दूसरा अभी भी उस प्रतिबद्धता को इंगित करेगा। – Amber