जब आप जीआईटी (और सामान्य रूप से डीवीसीएस) के साथ नए तरह के होते हैं, और आप इतिहास-पुनर्लेखन परिवर्तनों की खोज शुरू करते हैं, तो आप सुरक्षित हैं यदि रिपॉजिटरी केवल स्थानीय है, लेकिन आप समस्याओं में भाग सकते हैं यदि आप रीमोट के साथ काम करते हैं और कोशिश करते हैं ऐसे बदलावों को आगे बढ़ाएं।
एक विशेषता जो मुझे उम्मीद है कि एक "सुरक्षित मोड" को सक्षम करने की क्षमता है जो मूल रूप से मुझे वह करने से रोकती है जो मुझे नहीं करना चाहिए ... और मुझे इससे क्या मतलब है? मेरा मतलब है कि इतिहास-पुनर्लेखन में पहले से ही किसी चीज को धकेल दिया गया था। मैं इसे ठीक से परिभाषित नहीं कर सकता, लेकिन इसमें इस तरह के मामले शामिल होंगे:
commit --amend
जब HEAD को पहले ही धकेल दिया गया हैrebase
एक गैर-स्थानीय शाखा काreset
जिस शाखा को धक्का दिया गया है
ये उन स्थितियों के उदाहरण हैं, जो संभवत: अगली push
असफलता बना देंगी (क्योंकि यह तेजी से आगे, IIRC नहीं होगी)। मैंने दुर्घटना से कुछ बनाया है और रिमोट पर शाखा को फिर से बनाना है। और मैं अभी भी इस उपवास को करने के लिए भाग्यशाली था ताकि किसी ने मेरे द्वारा लिखे गए इतिहास को नहीं खींचा।
मेरा मानना है कि इस प्रकार के परिवर्तनों की पहचान करना संभव है और मांग पर, उपयोगकर्ता को उन्हें बनाने से रोकना चाहिए। क्या इसके लिए कोई विकल्प है?
अगर वहाँ नहीं है, तो क्या आपको लगता है कि इसे बनाने का प्रयास करना सार्थक है? क्या आप ठीक से परिभाषित करने की कोशिश करेंगे कि इस तरह के "खतरनाक परिवर्तन" की पहचान कैसे करें?
--force
।