नहीं, यह काफी सही नहीं है। यह कुछ हद तक निर्भर करता है कि आप किस संस्करण नियंत्रण सॉफ्टवेयर का उपयोग कर रहे हैं, लेकिन मुझे गिट पसंद है इसलिए मैं इसके बारे में बात करूंगा।
class Foo {
public void printAWittyMessage() {
// TODO: Be witty
}
}
ऐलिस और बॉब दोनों फ़ाइल को संशोधित:
मान लीजिए हम एक फ़ाइल Foo.java है। ऐलिस करता है:
class Foo {
public void printAWittyMessage() {
System.out.println("Alice is the coolest");
}
}
और बॉब इस करता है:
class Foo {
public void printAWittyMessage() {
System.out.println("Alice is teh suk");
}
}
ऐलिस पहले में उसके संस्करण की जाँच करता है। जब बॉब उसकी जांच करने का प्रयास करता है, तो गिट उसे चेतावनी देगा कि एक संघर्ष है और प्रतिबद्ध को मुख्य भंडार में धकेलने की अनुमति नहीं देगा। बॉब को अपने स्थानीय भंडार को अद्यतन करना है और संघर्ष को ठीक करना है। उन्होंने कहा कि कुछ इस तरह मिल जाएगा:
class Foo {
public void printAWittyMessage() {
<<<<< HEAD:<some git nonsense>
System.out.println("Alice is the coolest");
=====
System.out.println("Alice is teh suk");
>>>>> blahdeblahdeblah:<some more git nonsense>
}
}
<<<<<
, =====
और >>>>>
मार्करों दिखाने जो लाइनों एक साथ बदल रहे थे। बॉब को कुछ समझदार तरीके से संघर्ष को हल करना होगा, मार्करों को हटा देना होगा, और परिणाम देना होगा।
तो क्या अंततः भंडार में रहती है:
मूल संस्करण -> ऐलिस संस्करण -> बॉब की संघर्ष-तय संस्करण।
संक्षेप में प्रस्तुत करने के लिए: पहले प्रतिबद्ध करने के लिए बिना किसी समस्या के में हो जाता है, दूसरा प्रतिबद्ध करने के लिए संघर्ष भंडार में हो रही से पहले हल करना चाहिए। आपको किसी के परिवर्तनों को स्वचालित रूप से क्लॉन्ग किए जाने के साथ कभी खत्म नहीं होना चाहिए। जाहिर है बॉब गलत तरीके से संघर्ष को हल कर सकता है लेकिन संस्करण नियंत्रण की सुंदरता यह है कि आप गलत फिक्स वापस ले सकते हैं और इसे सुधार सकते हैं।
स्रोत
2010-10-26 23:29:00
आप इसे अच्छी तरह से कहा! Claps :-) –