(এটি মূলত এ গিট হরর স্টোরি অবলম্বন করা হয়েছে: স্বাক্ষরিত কমিটস সহ রিপোজিটরি ইন্টিগ্রিটি - খুব ভাল পঠিত, এবং আমি উত্তর দিতে পারি না তার চেয়ে আরও বেশি তথ্য))
গিট সংগ্রহস্থলের সাথে আপোস করা যেতে পারে এমন অনেকগুলি উপায় রয়েছে (এটি কোনও সুরক্ষা ত্রুটি নয়, জীবনের সত্যতা — এটির কারণে গিট ব্যবহার করা এড়ানো উচিত নয়)। উদাহরণস্বরূপ, কেউ আপনাকে বলে দাবি করে আপনার সংগ্রহশালার দিকে ঠেলা দিতে পারে। বা এই বিষয়টির জন্য, কেউ আপনাকে বলে দাবি করে অন্যের ভান্ডারে ঠেলাঠেলি করতে পারে (কেউ আপনাকে নিজের বলে দাবি করে নিজের সংগ্রহস্থলে চাপ দিতে পারে)। এটি একটি ডিভিসিএসে জীবনের অংশ মাত্র।
যেমন একটি উদাহরণ:
$ git config --global user.name 'Madara Uchiha'
$ git config --global user.email muchiha@example.com
আমি, আমি গিটারের কনফিগারেশনটি পরিবর্তন করে দিয়েছি যে আমি আপনি। এবং এখন আমি প্রতিশ্রুতিবদ্ধ করতে পারি এবং সেই প্রতিশ্রুতিগুলি কোনওরকমে উত্পাদন বুননে প্রবেশ করতে পারি এবং দেখে মনে হচ্ছে আপনি এটি করেছেন।
কমিট (এবং ট্যাগগুলি) সাইন ইন করার মাধ্যমে, কেউ প্রমাণ করতে পারে যে কিছু নির্দিষ্ট কমিট এবং ট্যাগগুলি আপনার কাছ থেকে এসেছিল (এবং যে জিনিসগুলিতে স্বাক্ষর করা হয়নি তা এটি নির্মাণের ক্ষেত্রে তৈরি করা উচিত নয়)। এটি আসলেই এর মূল চাবিকাঠি comm কমিট করে স্বাক্ষর করে আপনি বলেছেন যে এটি আপনার কাজ।
"আপনার কাজ" দিকটি লিনাক্স কার্নেলের (এবং এইভাবে গিট) ক্ষেত্রে বিশেষভাবে গুরুত্বপূর্ণ যা মাঝে মধ্যে কপিরাইট মামলা মোকদ্দমার সাথে যুক্ত হয়। প্রতিশ্রুতি স্বাক্ষর করে আপনি বলেছিলেন যে সফ্টওয়্যারটিতে আপনার অধিকার রয়েছে — এটির উত্সটি ট্র্যাক করে। এটি এমন হতে পারে যে আপনি যে উত্সটিতে কপিরাইট হিসাবে দাবি করা হচ্ছে এবং দাবিটি ভিত্তিহীন, তার কোনও অ্যাক্সেস পান নি। এমনও হতে পারে কোম্পানির ভুলে গেছি যে আপনি তাদের জন্য কয়েক বছর আগে কাজ করছিল এবং যে তাদের নির্দেশনায় কার্নেল, অথবা যাই হোক না কেন উপাদান যোগ করা হয়েছে।
প্রতিটি কমিটিতে স্বাক্ষর করা উচিত কিনা তা নিয়ে কিছুটা বিতর্ক রয়েছে। জিপিজি থেকে গিট কমিটের জন্য সই করছেন? (ফিরে '09), লিনাস লিখেছিলেন:
প্রতিটি প্রতিশ্রুতি স্বাক্ষর করা সম্পূর্ণ নির্বোধ। এর অর্থ হ'ল আপনি এটিকে স্বয়ংক্রিয় করেছেন এবং আপনি স্বাক্ষরটিকে কম মূল্যে পরিণত করেন। এটি কোনও সত্যিকারের মূল্যও যুক্ত করে না, যেহেতু SHA1 এর কাজের গিট ডিএজি-চেইন, সেইরূপে সমস্ত কমিটগুলি পৌঁছনীয় করার জন্য আপনার কেবলমাত্র একটি স্বাক্ষর প্রয়োজন। সুতরাং প্রতিটি প্রতিশ্রুতি স্বাক্ষর করা সহজ বিন্দু অনুপস্থিত।
গিটে সাইন ইন করার বিষয়ে চিন্তাভাবনা সম্পর্কে আরও অনেক কিছু সেখানে পড়তে পারে।
এটি বলেছিল, এটি যাইহোক গিট মধ্যে প্রবেশ করেছে।
সর্বাধিক sensকমত্য রয়েছে বলে মনে হয় যে স্বাক্ষরিত কমিটগুলি অপ্রয়োজনীয় তবে ট্যাগ সাইন ইন করা খুব ভাল। শীর্ষে লিঙ্কযুক্ত সেই ব্লগ পোস্টটি পরামর্শ দেয় যে কোনওভাবে যে কোনও উপায়ে স্বাক্ষর করা উচিত। আমি যেমন বলেছি, প্রতিশ্রুতিবদ্ধতা প্রয়োজনীয় কিনা তা নিয়ে কিছুটা বিতর্ক রয়েছে।
"প্রতিটি প্রতিশ্রুতিতে সাইন ইন করুন" বিতর্কের মূল কীটি সম্ভবত আপনার ব্যবহার করা কর্মপ্রবাহের সাথে সম্পর্কিত। বেশিরভাগ লোকেরা তাদের স্থানীয় রেপোতে অনেকগুলি কমিট করে, এবং তারপরে সেটে চাপ দেয়। চূড়ান্ত সংগ্রহ ট্যাগ করার জন্য এটি যথেষ্ট হওয়া উচিত (ধরে নিলে, আপনি নিশ্চিত হন যে সমস্ত পরিবর্তন সঠিক রয়েছে)। আপনি যদি এমন পরিবেশে কাজ করছেন যেখানে প্রচুর একক কমিটগুলি ঘুরে বেড়াচ্ছে, কোনও ট্যাগ এবং প্রতিশ্রুতিবদ্ধতার মধ্যে পার্থক্য কম হয়ে যায় ... স্বতন্ত্র — এবং চুক্তিতে স্বাক্ষর করা আরও কার্যকর হতে পারে।