/ / यदि कोई कमांड इसे संशोधित करता है या निरस्त किया जाता है, तो क्या कोई रिपॉजिटरी भ्रष्ट हो सकती है? - गिट, दुर्घटना, लेन-देन

क्या कोई गिट रिपोजिटरी दूषित हो सकती है यदि कोई कमांड संशोधित करता है या इसे निरस्त कर दिया जाता है? - गिट, दुर्घटना, लेनदेन

जब साथ खेल रहा हो git, मैं कभी-कभी चीजों को आज़माता हूं, फिर आज्ञाओं को निरस्त करता हूं जो बहुत लंबे समय तक ले जाती हैं (जैसे कुछ git svn आदेश है कि नेटवर्क समस्याओं के दौरान लटका)। यह मुझे सोच रहा है:

क्या किसी कमांड (Ctrl-C) को बलपूर्वक हटाना हमेशा सुरक्षित होता है kill)? क्या होगा अगर एक कमांड क्रैश हो जाती है (मेमोरी, बग, नेटवर्क / एफएस समस्या से बाहर)? क्या रिपॉजिटरी परिवर्तन "लेन-देन" इस अर्थ में है कि अपूर्ण परिवर्तन "लुढ़का हुआ" हैं (जैसे कि एक संस्करण फाइलिंग सिस्टम में)? या मैं उस मामले में भ्रष्टाचार का जोखिम उठाता हूं?

मुझे यकीन है कि git पर काम करने वाले स्मार्ट लोगों ने इसे ध्यान में रखा होगा, फिर भी मुझे git मैनुअल या ऑनलाइन में कोई जानकारी नहीं मिली।

उत्तर:

जवाब के लिए 9 № 1

भंडार पूरी तरह से लेन-देन है, हाँ।

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