एक प्रयोग के लिए, की सुविधा देता है अपने git log
की पहचान करता है निम्नलिखितक्या SHA-1 की गणना केवल पेड़ की सामग्री पर आधारित होती है?
commit 16bc8486fb34cf9a6faf0f7df606ae72ad9ea438 // added 2nd file
commit 9188f9a25b045f130b08888bc3f638099fa7f212 // initial commit
करता 16bc8486fb34cf9a6faf0f7df606ae72ad9ea438 करने से, .git/refs/heads/master
अंक के बाद का कहना है।
मान लें, इस के बाद, मैं स्वयं इस बिंदु पर 9188f9a25b045f130b08888bc3f638099fa7f212
को इंगित करने के .git/refs/heads/master
फ़ाइल को संपादित, Git स्थिति स्वीकार करता है कि एक नया अप्रतिबद्ध फ़ाइल कुछ ध्यान की जरूरत होती है। यह वही फाइल है जो मेरी दूसरी प्रतिबद्धता पहले की देखभाल करती थी।
तो मैं इसे प्रतिबद्ध है .. git log
अब पता चलता
commit b317f67686f9e6ab1eaabf47073b401d677205d5 // 2nd file committed for the 2nd time
commit 9188f9a25b045f130b08888bc3f638099fa7f212 // initial commit
प्रश्न 1:
आपको लगता है कि SHA
हैश बहुत पहले समय के बीच अलग-अलग मैं एक दूसरी फ़ाइल प्रतिबद्ध हैं पर ध्यान देंगे और अभी व। ऐसा क्यों है? फ़ाइल की सामग्री नहीं बदली, यह अभी भी वही सटीक फ़ाइल है।
प्रश्न 2
इस बिंदु पर, क्या प्रतिबद्ध मूल दूसरे को क्या हुआ? जब मैं git show 16bc8486
करता हूं, तो यह इस प्रतिबद्धता को दिखाता है। हालांकि यह git log
इतिहास में दिखाई नहीं देता है।
दिलचस्प पढ़ना: http://book.git-scm.com/1_the_git_object_model.html – Mat