• 3.1.9
  • کامل شده
  • منقضی شده
این داکیومنت از طرف توسعه‌دهنده ساپورت نمی‌شود، جدیدترین ورژن داکیومنت بزودی ترجمه خواهد شد.

Developer Certificate of Origin یا DCO گواهی‌ای است که مشارکت‌کننده با امضای آن اعلام می‌کند حق ارائه تغییرات را دارد و مجوز لازم برای استفاده از آن‌ها را به پروژه می‌دهد. این سازوکار جایگزین مجوز نرم‌افزار نیست، بلکه سابقه حقوقی مشارکت در تغییرات را شفاف می‌کند.

ساختار و API اصلی

در پروژه‌هایی که DCO را الزامی کرده‌اند، هر Commit باید با امضای متنی Signed-off-by همراه باشد. در Git می‌توان آن را هنگام Commit با گزینه -s افزود. نام و ایمیل باید با هویت مشارکت‌کننده در مخزن هماهنگ باشد.

نمونه استفاده

git config user.name "Your Name"
git config user.email "you@example.com"
git commit -s -m "Fix database documentation"

نکته مهم

امضای DCO به معنی امضای رمزنگاری‌شده Commit نیست. این دو مفهوم متفاوت‌اند و نباید آن‌ها را با GPG signing اشتباه گرفت.

مطالعه مرتبط

برای ادامه مطالعه، MVC، کوئری، ترنزکشن را ببینید.

امضای Commit با DCO

گزینه git commit -s خط Signed-off-by را به پیام Commit اضافه می‌کند. در بازبینی مشارکت، این خط نشان می‌دهد نویسنده شرایط DCO را پذیرفته است. این امضا با امضای رمزنگاری‌شده GPG متفاوت است و نباید آن دو را یکی دانست.

نکات پیاده‌سازی

این قابلیت بخشی از چرخه درخواست CodeIgniter است و باید با Controller، Model و View هماهنگ شود. تنظیمات را در محل مناسب نگه دارید، منطق تجاری را در Controller انباشته نکنید و برای رفتارهای تکرارشونده یک کلاس یا تابع مستقل بسازید. قبل از انتشار، مسیر موفق و مسیر خطا را با داده واقعی اما غیرحساس آزمایش کنید.

سایر پست های داکیومنت