آموزش برنامه نویسی

آموزش Git برای مبتدی ها؛ ثبت تغییرات اولین پروژه

آموزش عملی Git روی یک پروژه کوچک وب؛ ثبت نسخه اول، مقایسه تغییرات CSS، commit هدفمند و بررسی فایل های حساس پیش از آماده سازی نمونه کار.

آموزش Git برای مبتدی ها؛ ثبت تغییرات اولین پروژه

اگر نسخه های پروژه را با نام هایی مثل final و final2 نگه می دارید، ثبت تاریخچه با Git می تواند مشخص کند چه چیزی تغییر کرده و دلیل تغییر چه بوده است. برای شروع لازم نیست پروژه را روی اینترنت منتشر کنید. در این آموزش، فقط داخل یک پوشه تمرینی جدید کار می کنیم و دو نسخه روشن از یک صفحه وب می سازیم.

این تمرین برای ادامه پروژه اولین صفحه HTML و CSS مناسب است. اگر هدفتان نمایش مهارت برای همکاری است، بعداً راهنمای ساخت نمونه کار برنامه نویسی را هم بخوانید. تاریخچه مرتب، به توضیح مسیر ساخت پروژه کمک می کند.

سه جای متفاوت را بشناسید

فایل کاری همان نسخه ای است که در ویرایشگر تغییر می دهید. ناحیه stage انتخاب می کند چه تغییراتی در ثبت بعدی باشند. commit یک ثبت در تاریخچه مخزن است. ذخیره فایل در ویرایشگر، به تنهایی commit ایجاد نمی کند؛ دستور add هم به تنهایی ثبت نهایی تاریخچه نیست.

برای مثال می توانید هم زمان متن معرفی و فاصله کارت ها را تغییر دهید، اما فقط تغییر ظاهری آماده شده را ثبت کنید. مهم است بدانید چه چیزی را انتخاب کرده اید. به همین دلیل در این تمرین پیش از هر commit، فهرست و اختلاف تغییرها را می بینیم.

پوشه تمرین و فایل های اولیه را آماده کنید

Git را از مسیر نصب رسمی Git متناسب با سیستم خود تهیه کنید. سپس یک پوشه جدید برای همین تمرین بسازید و ترمینال را داخل آن باز کنید. این دستورها را روی پوشه کاری یک پروژه واقعی یا مخزن موجود آزمایش نکنید.

در پوشه جدید، فایل های index.html و styles.css پروژه ساده تان را قرار دهید. یک README.md با هدف پروژه، روش بازکردن صفحه و مواردی که تمرین کرده اید بسازید. سپس فایل .gitignore را با نمونه زیر ایجاد کنید؛ اگر ویرایشگر فایل های مخفی را نشان نمی دهد، نام کامل آن را بررسی کنید.

.env
.env.*
!.env.example
node_modules/
__pycache__/
*.pyc

این الگو برای همین تمرین شروع مناسبی است و جای فهرست نیازهای هر پروژه را نمی گیرد. فایل .env.example فقط وقتی مناسب انتشار است که صرفاً نام تنظیمات و مقدارهای ساختگی داشته باشد. فایل دارای رمز یا اطلاعات شخصی را وارد مخزن نکنید.

نسخه اول را ثبت کنید

دو مقدار نمونه Learner و learner@example.test هویت ساختگی این درس هستند. برای پروژه خود، نام و ایمیلی را انتخاب کنید که مایلید در تاریخچه همان مخزن دیده شوند. دو دستور config زیر فقط تنظیم محلی همین مخزن را تغییر می دهند.

git --version
git init -b main
git config user.name "Learner"
git config user.email "learner@example.test"
git status
git add index.html styles.css .gitignore README.md
git diff --cached
git commit -m "Add first web page"
git log --oneline

دستور status وضعیت فایل ها را نشان می دهد. با add نام چهار فایل مشخص را انتخاب می کنیم و با diff --cached محتوای انتخاب شده برای commit را می بینیم. اگر فایل ناخواسته ای در فهرست است، قبل از commit موضوع را بررسی کنید. log --oneline باید پس از ثبت موفق، یک ردیف با پیام Add first web page نشان دهد.

اگر هنگام commit پیام مربوط به نام و ایمیل دیدید، تنظیمات محلی را بررسی کنید. اگر پیام nothing to commit دریافت کردید، ببینید فایل واقعاً تغییر کرده و ذخیره شده است یا خیر. شماره شناسه commit در رایانه های مختلف یکسان نخواهد بود.

یک تغییر کوچک و قابل توضیح بسازید

در styles.css فاصله کارت ها یا اندازه یک عنوان را تغییر دهید و فایل را ذخیره کنید. صفحه را در مرورگر بررسی کنید تا خروجی را بشناسید؛ سپس این دستورها را اجرا کنید:

git diff
git add styles.css
git diff --cached
git commit -m "Improve card spacing"
git log --oneline
git status

این بار diff تغییرِ هنوز انتخاب نشده را نشان می دهد. بعد از add، بررسی diff --cached مشخص می کند دقیقاً چه چیزی ثبت خواهد شد. در پایان باید دو commit در تاریخچه ببینید و اگر تغییر دیگری باقی نمانده، status وضعیت کاری تمیز را گزارش کند.

یک اشتباه رایج درباره gitignore

gitignore برای نادیده گرفتن فایل های هنوز ردیابی نشده به کار می رود. اگر قبلاً فایلی را ثبت کرده باشید، اضافه کردن نامش به این فایل، آن را خودکار از تاریخچه پاک نمی کند. همین طور پاک کردن یک رمز از نسخه فعلی، به تنهایی به معنی حذف آن از commitهای قبلی نیست.

پیش از عمومی کردن یک پروژه، فایل های انتخاب شده، محتوای ثبت شده و تاریخچه مرتبط را بررسی کنید. اگر اطلاعات محرمانه منتشر شده، فقط مخفی کردن فایل کافی نیست و باید اعتبار آن اطلاعات و روش رسیدگی بررسی شود. در این درس هیچ push یا انتشار عمومی انجام نمی دهیم.

آزمون پایان تمرین

  • آیا بدون نگاه کردن به دستورها می توانید تفاوت فایل کاری، stage و commit را توضیح دهید؟
  • آیا تاریخچه دو پیام متفاوت و قابل فهم دارد؟
  • آیا تغییر دوم فقط همان اصلاح ظاهر موردنظر را ثبت کرده است؟
  • آیا می توانید با git show شناسه یک commit، محتوای تغییر آن را ببینید؟
  • آیا فایل نمونه .env هنوز ردیابی نشده از فهرست ثبت کنار گذاشته می شود؟ برای آزمایش فقط مقدار ساختگی استفاده کنید.

در تمرین بعد می توانید یک قابلیت کوچک را روی شاخه جدا انجام دهید، اما ابتدا ثبت و مشاهده تغییرها را مسلط شوید. برنامه تمرین کنار کلاس کمک می کند این عادت را وارد تکلیف های هفتگی کنید. برای انتخاب مسیر یادگیری و دریافت بازخورد نیز دوره های آکادمی گلجام را ببینید.

مرجع تکمیلی: آموزش رسمی Git و مستندات gitignore.

برای شروع مسیر یادگیری آماده‌ای؟

دوره‌های پروژه‌محور آکادمی گلجام را ببین.

مشاهده دوره‌ها
مشاوره رایگان مشاوره