ورژن کنترل | Version Control
سلام
به آخرین فصل خوش آمدید. در این فصل می خواهیم برنامۀ خود را روی سرور منتشر کنی. همچنین قصد داریم یک سرور ایمیل و گواهینامۀ https را برای سرورمان پیکربندی کنیم.
این پروژه قبلا در آدرس djangoboards.com آنلاین شده و می توانید به آن مراجعه کنید.
کنترل ورژن در مهندسی نرم افزار یک مفهوم اساسی است. به خصوص در زمانی که به صورت تیمی و هم زمان روی یک پروژه کار می کنید و ممکن است هر تیم یا هر عضو وظیفۀ توسعۀ بخشی از پروژه را به صورت موازی بر عهده داشته باشد.
فرقی بین یک توسعه دهنده یا چند توسعه دهنده وجود نداشته و هر پروژه باید دارای ورژن کنترل باشد.
برای این کار سیستم ها و ابزارهای بسیار زیادی وجود دارد که مشهورترین آن ها گیت هاب است. اگر با آن آشنا نیستید آموزش های بسیار فراوانی در این حوزه وجود دارد که می توانید به آن مراجعه کنید. البته همانطور که می دانید اخیراً (اوایل سال ۹۹) گیت ها هم ما (ایران) را در لیست سیاه قرار داده (البته فعلاً برای ریپازیتوری های خصوصی) و بنابراین خیلی از ایرانی ها در حال مهاجرت به گیت لب هستند. اما چون vitor عزیز در این آموزش ها با گیت هاب جلو رفته من هم روی همان جلو می روم.
نکته جالب در خصوص Git آن است که گیت فراتر از یک سیستم کنترل ورژن عمل می کند. گیت اکوسیستمی است از ابزارها و سرویس های وسیع برای توسعه دهندگان مثل سیستم یکپارچگی، توسعه، بازبینی کد، کنترل کیفیت کدها و مدیریت پروژه. اگر شما روی سیستم تان گیت ندارید می توانید از لینک https://git-scm.com/downloads آن را دانلود کنید.
نصب اولیه
اولین کار تنظیم هویت خودتان است.
git config --global user.name "Vitor Freitas" git config --global user.email vitor@simpleisbetterthancomplex.com
در مسیر اصلی پروژه (همانجایی که فایل manage.py قرار دارد.) مخزن و ریپازیتوری گیت را مقداردهی می کنیم.
git init
Initialized empty Git repository in /Users/tamadon/Development/Libogram/.git/
وضعیت مخزن را بررسی کنید.
git status
On branch master Initial commit Untracked files: (use "git add <file>..." to include in what will be committed) accounts/ boards/ manage.py myproject/ requirements.txt static/ templates/ nothing added to commit but untracked files present (use "git add" to track)
قبل از اضافه کردن فایل های سروی، یک فایل جدید با نام gitignore در مسیر اصلی پروژه ایجاد کن. این فایل خاص به ما اجازه می دهد تا ریپازیتوری و مخزن را به صورت پاکیزه و بدون فایل های غیرضروری یا محرمانه مثل فایل های کش یا فایل های لاگ نگه داریم.
می توانید نمونۀ اصلی از این فایل را از آدرس generic .gitignore file for Python projects دانلود کنید.
مطمئن شوید که این فایل را از Python.gitignore به gitignore. تغییر نام داده باشید. (توجه کنید که علامت نقطه قبل از نام فایل خیلی مهم است.) برای مثال می توانید به فایل gitignore. بگویید که فایل های دیتابیس SQLite را نادیده بگیرد.
.gitignore
__pycache__/ *.py[cod] .env venv/ # SQLite database files *.sqlite3
حالا فایل را به ریپازیتوری اضافه می کنیم.
git add .
در فرمان بالا به علامت نقطه توجه کنید. دستور بالا به گیت می گوید که تمام فایل های موجود در دایرکتوری جاری را اضافه کن.
حالا اولین فرمان را صادر می کنیم.
git commit -m "Initial commit"
همیشه برای کارهایی که انجام می دهی یک کامنت هرچند کوتاه بنویس تا بعداً معلوم باشد که کدام بخش ها را تغییر داده ای.
مخزن و ریپازیتوری راه دور
حالا می خواهیم گیت هاب را به عنوان مخزن راه دور نصب کنیم.
در ابتدا یک حساب کاربری رایگان در گیت هاب ایجاد می کنیم. سپس آدرس ایمیل را تأیید می کنیم. بعد از آن قادر خواهی بود تا یک مخزن عمومی یا Public Repository بسازی.
برای شروع یک نام برای مخزن خود انتخاب کن(Repository name). ضمناً تیک مقداردهی اولیه README را بردار و همینطور gitignore. یا لایسنس را هم اضافه نمی کنیم. مطمئن باش که ریپازیتوری را به صورت خالی ایجاد کرده باشی.
بعد از ایجاد ریپازیتوری تصویر مشابه زیر باید قابل نمایش باشد.
حالا می خواهیم آن را به عنوان ریپازیتوری راه دور تنظیم کنیم.
git remote add origin git@github.com:sibtc/django-boards.git
حالا باید کدهای خود را به سرور راه دور که همان ریپازیتوری یا مخزن گیت هاب است ارسال کنیم.
git push origin master Counting objects: 84, done. Delta compression using up to 4 threads. Compressing objects: 100% (81/81), done. Writing objects: 100% (84/84), 319.70 KiB | 0 bytes/s, done. Total 84 (delta 10), reused 0 (delta 0) remote: Resolving deltas: 100% (10/10), done. To git@github.com:sibtc/django-boards.git * [new branch] master -> master
من برای شروع کدهای اول را به گیت هاب ارسال کردم که می توانید آن را روی اکانت https://github.com/sibtc/django-beginners-guide ببینید.
ترجمۀ اختصاصی توسط تمدن
مطلب بعدی:
مطلب قبلی:
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگو شرکت کنید؟نظری بدهید!