اگر یک توسعه دهنده نرم افزار هستید، ممکن است با مفهوم کنترل نسخه آشنا باشید. کنترل نسخه، تمرین مدیریت تغییرات در پایگاه کد شما در طول زمان است. این یک ابزار ضروری برای هر پروژه توسعه است.

یکی از محبوب ترین سیستم های کنترل نسخه Git است که به طور گسترده توسط توسعه دهندگان در سراسر جهان استفاده می شود. Git یک ابزار قدرتمند و انعطاف پذیر است که می تواند به شما در مدیریت پایگاه کد، همکاری با توسعه دهندگان دیگر و پیگیری تغییرات در طول زمان کمک کند.

اما Git همچنین می تواند پیچیده و ترسناک باشد، به خصوص اگر در کنترل نسخه تازه کار هستید. در این آموزش، برخی از بهترین روش‌ها برای استفاده از Git از جمله دستورات اولیه، مخازن راه دور و ابزارهای همکاری را پوشش خواهیم داد.

چه مبتدی یا یک توسعه‌دهنده با تجربه باشید، این راهنما به شما کمک می‌کند از Git حداکثر بهره را ببرید و گردش کار خود را بهبود ببخشید.

فهرست مطالب

  • Version Control چیست؟
  • گیت چیست؟
  • چگونه با Git شروع کنیم
  • چگونه یک مخزن گیت جدید راه اندازی کنیم
  • دستورات اساسی برای ایجاد و انجام تغییرات
  • نحوه همکاری با Git
  • بهترین روش ها برای استفاده از Git
  • نتیجه

Version Control چیست؟

کنترل نسخه مدیریت تغییرات اسناد، فایل ها یا هر نوع داده دیگری است. در توسعه نرم افزار، برای مدیریت و ردیابی تغییرات در پایگاه کد، اطمینان از کیفیت کد، کاهش خطاها و بهبود همکاری بین اعضای تیم ضروری است.

بدون کنترل نسخه، مدیریت و ردیابی تغییرات کد یک کار دشوار و مستعد خطا خواهد بود. ابزارهای کنترل نسخه مانند Git راهی برای مدیریت تغییرات کد، پیگیری نسخه ها و همکاری با اعضای تیم ارائه می دهند. این امر آن را به یک جزء حیاتی از توسعه نرم افزار مدرن تبدیل می کند که تقریباً توسط تمام تیم های توسعه نرم افزار استفاده می شود.

گیت چیست؟

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

Git به دلیل انعطاف پذیری، سرعت و توانایی آن در مدیریت آسان پایگاه های کد بزرگ، به طور گسترده در توسعه نرم افزار استفاده می شود. همچنین طیف وسیعی از ویژگی ها و ابزارها را برای مدیریت و سازماندهی کد، مانند شاخه بندی و ادغام ارائه می دهد. و دارای یک جامعه بزرگ و فعال از کاربران است که در توسعه و پشتیبانی آن سهیم هستند.

چگونه با Git شروع کنیم

FireShot-Capture-140---Git---دانلودها---git-scm.com
صفحه دانلود Git

نحوه نصب Git

Git یک سیستم کنترل نسخه محبوب است که توسط توسعه دهندگان نرم افزار برای مدیریت و ردیابی تغییرات کد استفاده می شود. در اینجا مراحل نصب Git آمده است:

مرحله 1: دانلود Git

برای شروع، به وب سایت رسمی Git (https://git-scm.com/downloads) بروید و نصب کننده مناسب برای سیستم عامل خود را دانلود کنید.

همانطور که در صفحه دانلود در تصویر مشاهده می کنید، صفحه دانلود Git به اندازه کافی هوشمند است تا سیستم عامل (سیستم عامل) مورد استفاده شما را انتخاب کند – بر این اساس است که گرافیک دسکتاپ دکمه دانلود را در داخل آن نشان می دهد.

git-installer-ui-1
رابط کاربری Git Installer

مرحله 2: نصب کننده را اجرا کنید

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

git-installer-ui-step2
گزینه های نصب Git

مرحله 3: گزینه های نصب را انتخاب کنید

در طول مراحل نصب، از شما خواسته می شود که گزینه های مختلفی را انتخاب کنید. برای اکثر کاربران، گزینه های پیش فرض کافی خواهد بود، اما در صورت تمایل می توانید نصب خود را سفارشی کنید.

در ویندوز و macOS، می‌توانید گزینه‌های نصب پیش‌فرض را بپذیرید، اما در لینوکس، ممکن است نیاز داشته باشید که فرآیند نصب را بسته به توزیع خود سفارشی کنید.

git-installation-done-1
نصب Git انجام شد

مرحله 4: نصب را کامل کنید

هنگامی که گزینه های نصب خود را انتخاب کردید، نصب کننده Git را روی رایانه شما نصب می کند. بسته به سیستم شما ممکن است چند دقیقه طول بکشد.

git-bash-snippet
نصب Git را تأیید کنید

مرحله 5: نصب را تأیید کنید

پس از اتمام نصب، می توانید با باز کردن خط فرمان یا پنجره ترمینال و اجرای دستور تأیید کنید که Git به درستی نصب شده است. git --version. این باید نسخه فعلی Git را که روی سیستم شما نصب شده است نمایش دهد، چیزی شبیه به git version 2.40.1.windows.1.

چگونه یک مخزن گیت جدید راه اندازی کنیم

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

مرحله 1: یک فهرست جدید ایجاد کنید

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

git-bash-init-snippet
git init

مرحله 2: Git را راه اندازی کنید

فایل git
فایل git

هنگامی که Git را نصب کردید، گام بعدی این است که یک مخزن جدید را مقداردهی کنید. برای انجام این کار، در خط فرمان یا ترمینال به دایرکتوری ریشه پروژه خود بروید و دستور را اجرا کنید git init. این یک جدید ایجاد می کند .git دایرکتوری در دایرکتوری ریشه پروژه شما، جایی که Git تمام ابرداده ها و اطلاعات کنترل نسخه خود را ذخیره می کند.

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

مرحله 3: افزودن فایل ها

پس از راه‌اندازی مخزن Git، قدم بعدی این است که با افزودن فایل‌ها به قسمت مرحله‌بندی، تغییرات پروژه خود را ردیابی کنید.

git-stage
مرحله بندی فایل ها

برای این کار از دستور استفاده کنید git add <filename> برای افزودن هر فایل به ناحیه مرحله بندی. شما همچنین می توانید از دستور استفاده کنید git add . برای اضافه کردن همه فایل های موجود در دایرکتوری فعلی و زیر شاخه های آن به یکباره به منطقه مرحله بندی.

همچنین، همانطور که در تصویر بالا مشاهده می کنید، یک برچسب از وجود دارد (استاد) بعد از ~/Desktop/Projects/GIT برای مبتدیان. این (استاد) نشان دهنده شاخه فعلی پروژه است. این شاخه پیش فرض برای همه پروژه هایی است که Git را مقداردهی اولیه می کنند.

git-staging
قطعه Git Staging

هنگامی که یک فایل به منطقه مرحله اضافه می شود، آماده است تا به مخزن متعهد شود. توجه به این نکته مهم است که افزودن فایل‌ها به ناحیه مرحله‌بندی در واقع آنها را متعهد نمی‌کند – فقط آنها را برای commit آماده می‌کند. می توانید قبل از انجام یک commit به افزودن و اصلاح فایل ها در صورت نیاز ادامه دهید.

مرحله 4: انجام تغییرات

پس از افزودن فایل‌ها به قسمت مرحله‌بندی، گام بعدی این است که تغییرات را در مخزن خود با استفاده از git commit فرمان

هنگام انجام تغییرات، ارائه یک پیام واضح و تشریحی که توضیح دهد چه تغییراتی در commit ایجاد کرده‌اید، مهم است. این پیام برای ردیابی تغییرات در تاریخچه مخزن استفاده می‌شود و به سایر مشارکت‌کنندگان در درک تغییراتی که انجام داده‌اید کمک می‌کند.

برای انجام تغییرات، از دستور استفاده کنید git commit -m 'commit message' ، جایگزین کردنcommit messageبا یک پیام واضح و توصیفی که تغییرات ایجاد شده در commit را توضیح می دهد. پس از انجام، تغییرات در تاریخچه مخزن ذخیره می‌شوند و می‌توان آن‌ها را ردیابی، برگرداند یا در صورت نیاز با شاخه‌های دیگر ادغام کرد.

git-commit
Git commit

مرحله 5: به یک مخزن از راه دور متصل شوید

برای به اشتراک گذاشتن تغییرات خود با سایر توسعه دهندگان یا همکاری در یک پروژه، می توانید مخزن محلی خود را با استفاده از Git به یک مخزن راه دور متصل کنید.

مخزن راه دور یک کپی از مخزن شما است که بر روی سروری مانند GitHub، GitLab یا BitBucket میزبانی می شود و به چندین مشارکت کننده اجازه می دهد تا بر روی یک پایگاه کد یکسان کار کنند.

برای اتصال به یک مخزن از راه دور، از git remote add دستور و سپس URL مخزن راه دور.

git-add
به Remote Repository متصل شوید

به عنوان مثال، برای اتصال به مخزن GitHub، باید از دستور استفاده کنید git remote add origin <repository URL>. حتی قبل از اینکه بتوانید به مخزن راه دور متصل شوید، باید آن را ایجاد کنید.

به Scribe بروید و مراحل ایجاد یک مخزن در GitHub را دنبال کنید. اما قبل از انجام این کار، اگر قبلاً ندارید، باید یک حساب GitHub ایجاد کنید.

پس از اتصال، می توانید تغییرات خود را با استفاده از آن به مخزن راه دور فشار دهید git push -u <default branch> فرمان این دستور اغلب هنگام فشار دادن تغییرات برای اولین بار برای ایجاد رابطه بین شعبه محلی و شعبه راه دور استفاده می شود.

git-push
Git First Remote Push

با این حال، برای تغییرات فشار بعدی، از دستور استفاده کنید git push بدون ذکر هیچ استدلال اضافی. Git سعی می کند تغییرات را از شاخه محلی فعلی در ماشین محلی شما (رایانه) به شاخه مربوطه در مخزن راه دور اعمال کند. فرض بر این است که شعبه محلی و شعبه راه دور یک نام دارند.

git-push2
Git Subsequent Remote Push

این git pull دستور آخرین تغییرات ایجاد شده توسط سایر مشارکت کنندگان را از یک مخزن راه دور واکشی می کند و به طور خودکار آنها را در شاخه فعلی ادغام می کند. با اتصال به یک مخزن از راه دور، می توانید با توسعه دهندگان دیگر همکاری کنید و در پروژه های منبع باز مشارکت کنید.

git-pull
Git Pull

با دنبال کردن این مراحل ساده، می توانید یک مخزن Git جدید راه اندازی کنید و مدیریت تغییرات در پایگاه کد خود را شروع کنید.

دستورات اساسی برای ایجاد و انجام تغییرات

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

مرحله 1: وضعیت را بررسی کنید

قبل از انجام تغییرات، باید وضعیت مخزن خود را بررسی کنید تا ببینید چه تغییراتی ایجاد شده است. برای این کار دستور را اجرا کنید git status در یک ترمینال یا پنجره خط فرمان.

وضعیت git
وضعیت Git

مرحله 2: تغییرات مرحله

برای انجام تغییرات، ابتدا باید آنها را با استفاده از آن مرحله بندی کنید git add فرمان این به Git می گوید که کدام فایل ها را در commit بعدی قرار دهد. با اجرای دستور می توانید تمام تغییرات را مرحله بندی کنید git add . یا با اجرای دستور، تغییرات خاصی را انجام دهید git add <filename> .

git-stage-css
Git Staging

وقتی تغییرات را مرحله‌بندی می‌کنید، Git در آن لحظه از فایل‌ها یک عکس فوری می‌گیرد. این عکس فوری شامل تمام تغییراتی است که از زمان آخرین commit ایجاد کرده اید.

تغییرات مرحله‌بندی به شما این امکان را می‌دهد که تغییرات خود را قبل از انجام آنها به دقت بررسی کنید. می توانید تغییرات را در قسمت های کوچک مرحله بندی کنید و آنها را جداگانه انجام دهید یا همه تغییرات را مرحله بندی کنید و آنها را با هم انجام دهید. این به شما کنترل بیشتری بر تغییراتی که در پایگاه کد خود ایجاد می‌کنید می‌دهد و به شما کمک می‌کند تغییراتی که در طول زمان ایجاد شده‌اند را پیگیری کنید.

با ایجاد تغییرات در Git، می توانید اطمینان حاصل کنید که commit های شما به طور دقیق تغییراتی را که در پایگاه کد خود ایجاد کرده اید منعکس می کند.

مرحله 3: انجام تغییرات

هنگامی که تغییرات خود را مرحله‌بندی کردید، می‌توانید با استفاده از آن، آنها را به مخزن خود متعهد کنید git commit فرمان این یک عکس فوری جدید از مخزن شما با تغییراتی که ایجاد کرده اید ایجاد می کند.

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

git-commit2
Git Commit

برای توضیح تغییراتی که با استفاده از آن ایجاد کردید، باید یک پیام commit اضافه کنید -m پرچم. مثلا، git commit -m Added new featureAdded new feature“بخش چیزی است که commit نامیده می شود.

پیشنهاد می‌کنیم بخوانید:  تبدیل اسکریپت های پایتون به فایل های اجرایی

با گنجاندن یک پیام تعهدی واضح و مختصر مانند “Added new feature“سایر توسعه دهندگان می توانند به سرعت هدف commit و تغییرات ایجاد شده را درک کنند. این کار همکاری و نگهداری کد را آسان تر می کند.

مرحله 4: فشار تغییرات

اگر روی یک تیم کار می‌کنید یا می‌خواهید تغییرات خود را با دیگران به اشتراک بگذارید، می‌توانید با استفاده از این تغییرات را به یک مخزن راه دور منتقل کنید. git push فرمان این تغییرات شما را در یک مخزن مشترک آپلود می کند که دیگران می توانند به آن دسترسی داشته باشند.

برای اعمال تغییرات به یک مخزن راه دور، ابتدا باید یک URL راه دور با استفاده از آن اضافه کنید git remote add فرمان این به Git می‌گوید که تغییرات شما را کجا اعمال کند.

git-add-2
Git

مثلا، git remote add originhttps://github.com/username/repository.git. قبل از دریافت یک URL راه دور برای فشار دادن، باید یک مخزن در حساب GitHub خود ایجاد کنید. برای انجام این کار، به https://bit.ly/417ULB7 بروید.

با افزودن یک مخزن راه دور، ارتباطی بین مخزن محلی خود و مخزن راه دور برقرار می کنید و به شما این امکان را می دهد که تغییرات را بین آنها فشار دهید و بکشید.

در اینجا چیست git remote add <repository URL> میکند:

  1. git remote: این یک دستور Git است که مخازن راه دور مرتبط با مخزن محلی شما را مدیریت می کند.
  2. add: گزینه ای است که با git remote دستور اضافه کردن یک مخزن از راه دور جدید.
  3. <repository URL>: این نشانی اینترنتی مخزن راه دوری است که می خواهید اضافه کنید. معمولاً به سرویس میزبانی مخزن Git اشاره می کند که مخزن راه دور شما در آن قرار دارد.

هنگامی که یک URL راه دور اضافه کردید، می توانید تغییرات خود را با استفاده از آن به مخزن راه دور فشار دهید git push فرمان مثلا، git push origin master تغییرات را به “master“شاخه مخزن راه دور.

توجه به این نکته مهم است که برای اعمال تغییرات در یک مخزن راه دور به مجوزهای مناسب نیاز دارید. اگر روی یک تیم کار می کنید، ممکن است لازم باشد با دیگران هماهنگ کنید تا مطمئن شوید که مجوزهای لازم را دارید.

فشار دادن تغییرات به یک مخزن راه دور، همکاری با دیگران در پروژه های توسعه نرم افزار را برای شما آسان تر می کند و اطمینان حاصل می کند که اعضای تیم شما با آخرین نسخه پایگاه کد کار می کنند.

با پیروی از این دستورات اولیه، می توانید تغییراتی را در مخزن Git خود ایجاد کرده و آن را انجام دهید. با Git، می توانید به راحتی تغییرات در پایگاه کد خود را ردیابی کنید و با دیگران در پروژه های توسعه نرم افزار همکاری کنید.

همکاری-بردار-دقیقه

نحوه همکاری با Git

یکی از مزایای کلیدی استفاده از Git، توانایی آن در تسهیل همکاری بین توسعه دهندگان است. Git به شما این امکان را می دهد که به طور همزمان روی یک پایگاه کد مشابه با دیگران کار کنید، بدون اینکه تغییرات توسعه دهندگان دیگر را بازنویسی کنید.

برای همکاری در پروژه Git، معمولاً از یک مخزن مرکزی استفاده می‌کنید که به عنوان منبع حقیقت برای پروژه عمل می‌کند. هر توسعه‌دهنده‌ای یک کپی محلی از مخزن در دستگاه خود دارد و تغییراتی را ایجاد کرده و آنها را به مخزن محلی خود متعهد می‌کند.

وقتی آماده به اشتراک گذاشتن تغییرات خود با سایر اعضای تیم هستید، تغییرات خود را به مخزن مرکزی فشار می دهید. سپس سایر اعضای تیم می توانند این تغییرات را به مخازن محلی خود برسانند.

Remote Repositories چیست؟

مخازن راه دور جزء ضروری گردش کار Git هستند. آ مخزن از راه دور یک مخزن تحت کنترل نسخه است که بر روی یک سرور راه دور میزبانی می شود. چندین توسعه دهنده از مکان های مختلف می توانند به آن دسترسی داشته باشند و آن را تغییر دهند.

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

در Git، مخازن راه دور معمولا بر روی پلتفرم هایی مانند GitHub، GitLab یا Bitbucket میزبانی می شوند و شما می توانید با استفاده از خط فرمان Git یا یک رابط کاربری گرافیکی به آنها دسترسی داشته باشید.

هنگام کار با مخازن راه دور، می توانید تغییرات محلی خود را به مخزن راه دور فشار دهید یا تغییرات را از مخزن راه دور به نسخه محلی خود بکشید تا پایگاه کد خود را به روز نگه دارید.

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

با استفاده از مخازن راه دور در Git، می توانید با دیگران در پروژه های توسعه نرم افزار همکاری کنید و پایگاه کد خود را با آنها به اشتراک بگذارید.

نحوه کلون کردن یک مخزن

هنگام کار با Git، شبیه سازی یک مخزن یک کار رایج است. شبیه سازی یک کپی محلی از یک مخزن راه دور، شامل تمام فایل ها و تاریخچه پروژه ایجاد می کند.

شبیه سازی یک مخزن در Git ساده است و شما می توانید آن را به روش های مختلفی انجام دهید، مانند استفاده از خط فرمان یا رابط کاربری گرافیکی. این یک فرآیند ساده است که شما را قادر می سازد به کد مخزن، commit history و شاخه ها دسترسی داشته باشید. بیایید مراحل مربوط به شبیه سازی یک مخزن را طی کنیم:

git-clone
URL مخزن را کپی کنید
  1. URL مخزن را کپی کنید: با به دست آوردن URL مخزن راه دوری که می خواهید شبیه سازی کنید، شروع کنید. می توانید این URL را در پلتفرم میزبانی مخزن مانند GitHub یا GitLab پیدا کنید.
  2. ترمینال یا خط فرمان را باز کنید. رابط خط فرمان دلخواه خود را باز کنید. این می تواند ترمینال در macOS و Linux یا Command Prompt در ویندوز باشد.

3. به مکان مورد نظر بروید: ازcd دستور برای رفتن به دایرکتوری که می خواهید مخزن را در آن کلون کنید. به عنوان مثال، اگر می خواهید آن را در دایرکتوری “Projects” روی دسکتاپ خود کلون کنید، باید اجرا کنید cd ~/Desktop/Projects.

terminal-cd
تغییر دایرکتوری

4. مخزن را شبیه سازی کنید: اجرا کنیدgit clone دستور به دنبال URL مخزن. این دستور فرآیند شبیه سازی را آغاز می کند و یک کپی محلی از مخزن ایجاد می کند. به عنوان مثال، برای شبیه سازی یک مخزن با URL، باید اجرا کنید git clone https://github.com/username/repository.git.

git-cloning
Git Cloning

5. فرآیند شبیه سازی را تأیید کنید: پس از تکمیل فرآیند شبیه سازی، فایل های مخزن و تاریخچه commit را در دایرکتوری مشخص شده مشاهده خواهید کرد. اکنون می توانید با استفاده از مخزن کلون شده حرکت کنیدcd repository (که نام دایرکتوری با مخزن کلون شده یکسان است).

اگر به نمودار زیر توجه کنید،cd better-commits دستور دایرکتوری را به دایرکتوری better-commits تغییر می دهد که همانطور که قبلا توضیح داده شد، همان نام مخزن کلون شده را دارد. برای بررسی بیشتر اینکه آیا فایل های کلون شده در دایرکتوری وجود دارد،ls از دستور برای لیست کردن تمام فایل های دایرکتوری استفاده می شود.

تایید-کلون کردن
تأیید کنید git clone

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

اینgit clone <repository URL> دستور برای ایجاد یک کپی از مخزن Git راه دور در ماشین محلی شما استفاده می شود. این به شما امکان می دهد کل تاریخچه، شاخه ها و فایل ها را از مخزن راه دور بازیابی کنید و یک نسخه محلی را تنظیم کنید که بتوانید با آن کار کنید.

در اینجا چیست git clone <repository URL> میکند:

  1. git cloneاین یک دستور Git است که یک کلون یا کپی از یک مخزن از راه دور Git ایجاد می کند.
  2. <repository URL>این نشانی اینترنتی مخزن راه دوری است که می خواهید کلون کنید. معمولاً به سرویس میزبانی مخزن Git اشاره می کند که مخزن راه دور در آن قرار دارد.

هنگامی که شما اجرا می کنید git clone <repository URL> دستور، یک دایرکتوری جدید در ماشین محلی شما با همان نام مخزن راه دور ایجاد می کند. این یک مخزن جدید Git را در آن دایرکتوری مقداردهی اولیه می کند و تمام فایل ها را کپی می کند و تاریخچه را از مخزن راه دور به مخزن محلی ارسال می کند.

علاوه بر این، git clone دستور به طور خودکار یک ارتباط بین مخزن محلی شما و مخزن راه دور برقرار می کند. مخزن راه دور را به عنوان منبع بالادستی پیش فرض پیکربندی می کند و یک نام اختصاص می دهد origin به آن

شبیه سازی مخازن بخش کلیدی گردش کار Git و یک ابزار ضروری برای تیم های توسعه نرم افزار توزیع شده است، خواه با دیگران همکاری می کنید، در پروژه های منبع باز مشارکت می کنید یا به سادگی روی پروژه های خود کار می کنید. این به شما امکان می دهد یک کپی محلی از پایگاه کد داشته باشید و شما را با آخرین تغییرات از مخزن راه دور هماهنگ نگه می دارد.

چگونه تغییرات را در Git فشار دهیم و بکشیم

git-push-1
شاخه بالادست تنظیم Git Push

شاخه بالادستی به شعبه ای در یک مخزن راه دور اشاره دارد که شعبه محلی شما با آن مرتبط است. این نشان دهنده شاخه راه دوری است که شعبه محلی شما هنگام استفاده از دستوراتی مانند با آن هماهنگ می شود git pull یا git push.

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

git-push2-1
Git Push بدون تنظیم شاخه بالادست

برعکس، زمانی که می خواهید نسخه محلی مخزن خود را با تغییرات ایجاد شده توسط دیگران به روز کنید، می توانید تغییرات را از مخزن راه دور با استفاده از git pull فرمان به‌روزرسانی‌ها را به مخزن محلی خود با آخرین تغییرات ایجاد شده در مخزن راه دور بکشید.

این عملیات برای همکاری در پروژه Git و به روز نگه داشتن نسخه محلی مخزن با آخرین تغییرات ضروری است.

Git ابزارهایی را برای حل تعارضاتی که ممکن است هنگام فشار دادن یا کشیدن تغییرات ایجاد شود، مانند ادغام تغییرات یا انتخاب اینکه کدام تغییرات حفظ شود، ارائه می دهد. با استفاده از فشار و کشش در گردش‌های کاری Git، می‌توانید کارآمدتر و مؤثرتر روی پروژه‌های توسعه نرم‌افزار کار کنید.

بهترین تمرینات-بردار-دقیقه

بهترین روش ها برای استفاده از Git

برای استفاده حداکثری از Git، رعایت بهترین شیوه ها هنگام کار با ابزار بسیار مهم است.

برخی از بهترین شیوه‌ها شامل کوچک نگه داشتن تعهدات و متمرکز کردن آنها، استفاده از پیام‌های commit واضح و مختصر، انشعاب‌های مکرر برای جداسازی تغییرات و کاهش خطر درگیری‌ها و استفاده از درخواست‌های کشش برای بررسی کد است.

همچنین مهم است که به طور منظم تغییرات را در مخزن راه دور اعمال کنید، تغییرات را از مخزن راه دور بیرون بیاورید، و کپی محلی مخزن را به روز نگه دارید.

اکنون به هر یک از این موارد کمی عمیق تر نگاه می کنیم.

تعهدات را کوچک و متمرکز نگه دارید

هنگام کار با Git، مهم است که تعهدات را کوچک نگه دارید و روی تغییرات یا ویژگی های خاص متمرکز شوید. این امر درک آنچه را که در هر تعهد تغییر کرده است آسان تر می کند و به کاهش خطر درگیری کمک می کند.

کوتاه متمرکز-متعهد
پیام کوتاه تعهد

اگر یک تعهد شامل تغییرات متعدد باشد، درک هدف هر تغییر و ارتباط آنها با یکدیگر می تواند دشوار باشد.

تعهد طولانی
پیام تعهد طولانی

از سوی دیگر، اگر یک commit بر روی یک تغییر متمرکز باشد، درک هدف آن تغییر و بازگرداندن آن در صورت لزوم بسیار آسان‌تر است. کوچک و متمرکز نگه داشتن تعهدات همچنین بررسی تغییرات و پیگیری پیشرفت پروژه را در طول زمان آسان تر می کند.

در پیام تعهد طولانی در تصویر گرافیکی بالا، می بینید که حداکثر سه تغییر بر اساس پیام commit اعمال شده است: -m flag به معنای پیام است، و با این نوع پیام، برای توسعه دهندگانی که تغییرات کد شما را بررسی می‌کنند، تمرکز روی آن‌ها سخت خواهد بود، زیرا چند تغییر تنها در یک commit اعمال شده‌اند.

برای اینکه بررسی تغییرات کد آسان‌تر شود، به یک تغییر، احتمالاً، پایبند باشید لینک خراب در فوتر را برطرف کنید تغییر دادن. سپس تغییر را مطابق با آن انجام دهید، مانند در پیام کوتاه تعهد تصویر گرافیکی بالا

انجام این کار روند گردش کار را برای اعضای تیم شما آسان می کند و آنها از کار با شما لذت خواهند برد.

از پیام‌های تعهد واضح و مختصر استفاده کنید

هنگام ایجاد تغییرات در یک پایگاه کد، مهم است که از پیام‌های commit واضح و مختصر استفاده کنید که توضیح می‌دهد چه تغییراتی ایجاد کرده‌اید و چرا.

پیشنهاد می‌کنیم بخوانید:  دستورات انشعاب Git با مثال توضیح داده شده است

یک پیام commit خوب باید اطلاعات کافی برای درک زمینه تغییر را بدون طولانی بودن یا پرمخاطب بودن ارائه دهد. پیام‌های تعهدی واضح و مختصر، درک آنچه را که تغییر داده‌اید و چرا را برای دیگر توسعه‌دهندگان آسان‌تر می‌کند، که به‌ویژه هنگام بررسی تغییرات یا بررسی مسائل مهم است.

git-commit3
پیام تعهد مختصر

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

یک پیام commit عالی باید کمتر از 10 کلمه باشد. زمانی که پیام commit طولانی‌تر می‌شود، واقعاً شروع به پرگویی می‌کند و ممکن است پیام اصلی commit گم شود.

اینها نمونه هایی از پیام های تعهد روشن و مؤثر هستند:

  • وابستگی ها را به آخرین نسخه ها به روز کنید
  • مدیریت خطا را برای اتصال پایگاه داده اضافه کنید
  • عبارات debug console.log را حذف کنید
  • به روز رسانی استایل برای پاسخگویی تلفن همراه
  • نام متغیر Refactor برای وضوح
git commit -m 'Update dependencies to latest versions'
git commit -m 'Add error handling for database connection'
git commit -m 'Remove debug console.log statements'
git commit -m 'Update styling for mobile responsiveness'
git commit -m 'Refactor variable names for clarity'

استفاده از پیام‌های commit خوب همچنین ردیابی تغییرات در طول زمان و درک تاریخچه پروژه را آسان‌تر می‌کند.

با پیروی از این بهترین روش، می‌توانید کیفیت و قابلیت نگهداری پایگاه کد خود را بهبود بخشید و کار کردن با کد را برای خود و دیگران در آینده آسان‌تر کنید.

برای جداسازی تغییرات، اغلب شعبه کنید

Branching یکی از ویژگی های قدرتمند Git است که به شما اجازه می دهد تا بر روی تغییرات یا ویژگی های مختلف جدا از پایگاه کد اصلی کار کنید. با ایجاد یک شاخه برای هر تغییر یا ویژگی، می‌توانید تغییرات را بدون تأثیرگذاری بر پایگاه کد اصلی ایجاد و آزمایش کنید و پس از تکمیل تغییرات، تغییرات خود را دوباره در پایگاه کد اصلی ادغام کنید.

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

انشعاب مکرر در CI/CD (ادغام مداوم/ استقرار مستمر) بهترین روشی است که شامل ایجاد شاخه های جداگانه برای جداسازی تغییرات است. توسعه موازی را امکان پذیر می کند و به تیم ها اجازه می دهد تا به طور مستقل روی ویژگی های مختلف یا رفع اشکال بدون درگیری کار کنند. با کار بر روی شاخه های مجزا، توسعه دهندگان می توانند بر روی تغییرات خاص خود تمرکز کنند، تست ها را اجرا کنند و از ثبات اطمینان حاصل کنند.

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

برای ایجاد یک شاخه، استفاده کنید git branch <branch-name> دستور در ترمینال شما برای جابجایی به شعبه جدید، استفاده کنید git checkout <branch-name>. همچنین، می توانید این دو مرحله را فقط در یک دستور ترکیب کنید: git checkout -b <branch-name>. این دستور شاخه را ایجاد می کند و به طور همزمان به شاخه جدید ایجاد شده سوئیچ می کند.

git-branch
Git Branching

مشاهده کنید در Git Branching تصویر گرافیکی بالای آن git checkout -b stellar-feature دستور ایجاد شد و به stellar-feature شعبه همزمان این با ایجاد شاخه آزمایشی ماه با دستور متفاوت است git branch moonshot-experiment و سپس با دستور به آن انشعاب کنید git checkout moonshot-experiment.

با پیروی از این بهترین روش، می توانید خطر درگیری و خطا در پایگاه کد خود را کاهش دهید.

از Pull Requests برای بررسی کد استفاده کنید

بررسی کدها بخش مهمی از فرآیند توسعه نرم افزار است. آنها کمک می کنند تا اطمینان حاصل شود که تغییرات کد با کیفیت بالا هستند، بهترین شیوه ها را دنبال می کنند و الزامات پروژه را برآورده می کنند.

یکی از راه‌های تسهیل بررسی کد، استفاده از درخواست‌های کششی است. درخواست‌های کششی به شما این امکان را می‌دهند که تغییرات خود را با دیگران به اشتراک بگذارید و قبل از ادغام آنها در پایگاه کد اصلی، بازخورد درخواست کنید.

با استفاده از درخواست‌های کشش، توسعه‌دهندگان دیگر می‌توانند تغییرات شما را بررسی کنند، بازخورد ارائه دهند و پیشرفت‌هایی را پیشنهاد کنند. درخواست‌های کششی همچنین ردیابی تغییرات را آسان‌تر می‌کنند و اطمینان حاصل می‌کنند که تغییرات کد قبل از ادغام به درستی آزمایش و مستند شده‌اند.

استفاده از درخواست‌های کشش (PR) برای بررسی کد در پروژه‌های منبع باز امکان همکاری و کنترل کیفیت را فراهم می‌کند. توسعه‌دهندگان یک شعبه ایجاد می‌کنند، تغییراتی ایجاد می‌کنند، آن را به یک مخزن دوشاخه می‌برند و یک PR ارسال می‌کنند. بازبین‌ها بازخورد ارائه می‌کنند، تغییرات را پیشنهاد می‌کنند و درباره بهبودها بحث می‌کنند. پس از تأیید، تغییرات در پروژه اصلی ادغام می شوند و از یک پایگاه کد قوی و بررسی شده اطمینان حاصل می کنند.

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

PR برای بازبینی کد بیشتر در دو موقعیت اعمال می شود:

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

و این پروژه های منبع باز حتی می توانند کتابخانه ها یا فریم ورک هایی باشند (مثلاً React، Vue، و دیگران) که شما با آنها برای ساخت برنامه ها کار می کنید.

کار بر روی پروژه ها با اعضای تیم

با تکیه بر بهترین روش های قبلی که قبلا در مورد آن صحبت کردیم، یک شاخه جدید ایجاد کنید و با دستور به آن تغییر دهید git checkout -b blackhole-security. در این مرحله، می‌توانید کار روی پروژه را شروع کنید و مطمئن شوید که روی ویژگی‌ای که شعبه را برای آن ایجاد کرده‌اید، کار می‌کنید.

این بدان معنی است که شما فقط باید روی آن کار کنید سیاهچاله-امنیت ویژگی در پروژه؛ ساختن یک ویژگی مانند را شروع نکنید بهینه سازی ابرنواختر. این کار مرور کد شما را آسان‌تر می‌کند.

git-pr
Git Pull Request

وقتی کار روی آن تمام شد سیاهچاله-امنیت ویژگی، مرحله و انجام تغییرات فقط با یک git commit -am 'Blackhole security fully implemented' فرمان در این مرحله، اکنون می توانید ادامه دهید و تغییر خود را به مخزن راه دور فشار دهید تا مدیر پروژه شما آن را بررسی کند. با دستور می توانید این کار را انجام دهید git push origin blackhole-security. یا اگر در شعبه ای به نام کار می کردید سیاره-کشف، شما با دستور پیش می روید git push origin planet-discovery.

annotely_image-pr
درخواست مقایسه و کشش

این درخواست مقایسه و کشش تصویر گرافیکی بالا همانطور که در مستطیل قرمز مشاهده می کنید دکمه ای دارد که برای ایجاد یک درخواست کشش کلیک کنید.

FireShot-Capture-143---مقایسه-استاد...امنیت-سیاهچاله---Kola92_git-for-beginners---github.com
درخواست کشش را باز کنید
FireShot-Capture-144---Blackhole-security-by-Kola92---Pull-Request--1---Kola92_git-for-begin_---github.com
درخواست کشش ادغام

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

کار بر روی پروژه های منبع باز

قبل از شروع همکاری در هر پروژه منبع باز، باید مخزن منبع باز را فورک کنید (چنگال یک کپی شخصی از یک مخزن است که امکان توسعه و مشارکت مستقل را بدون تغییر کد منبع فراهم می کند).

FireShot-Capture-145---Fork-imartinez_privateGPT---github.com
فورک جدید ایجاد کنید

هنگامی که مخزن انشعابات کامل شد، می توانید پیش بروید و مخزن فورک شده را شبیه سازی کنید. git clone https://github.com/Kola92/privateGPT.git.

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

روابط عمومی خوب به بهبود کیفیت و قابلیت نگهداری پایگاه کد شما کمک می کند و اطمینان حاصل می کند که تغییرات قبل از ادغام به درستی بررسی و تأیید می شوند.

مخزن را تمیز و به روز نگه دارید

یک مخزن تمیز و به روز برای حفظ سلامت و قابلیت استفاده از پایگاه کد شما بسیار مهم است.

یکی از راه‌های تمیز نگه‌داشتن مخزن، پرهیز از انجام فایل‌های غیر ضروری، مانند فایل‌های موقت یا مصنوعات ساختنی است. این مخزن را کوچک نگه می‌دارد و حرکت را آسان‌تر می‌کند. فایل های زیر غیر ضروری تلقی می شوند:

  • فایل ها یا دایرکتوری های خاص IDE (به عنوان مثال، .idea، .vscode) که برای تنظیمات محیط توسعه محلی استفاده می شوند.
  • فایل های موقت یا فایل های پشتیبان ایجاد شده توسط ویرایشگرهای متن یا ابزارهای دیگر (به عنوان مثال، .bak، .tmp).
  • وابستگی‌ها یا دایرکتوری‌های بسته (به عنوان مثال، node_modules، vendor) که می‌توانند با استفاده از مدیریت بسته‌ها دوباره تولید شوند.
  • فایل های پیکربندی حاوی اطلاعات حساس (به عنوان مثال، کلیدهای API و رمزهای عبور). برای چنین داده های حساسی از متغیرهای محیطی یا فایل های پیکربندی خارج از مخزن استفاده کنید.
  • آرتیفکت ها یا دایرکتوری های خروجی (مثلاً dist، build) بسازید که می توانند در طول فرآیند ساخت دوباره تولید شوند.

برای جلوگیری از ارتکاب فایل های غیر ضروری در یک مخزن، مراحل زیر را دنبال کنید:

  1. ایجاد یک .gitignore فایل را در دایرکتوری ریشه مخزن خود قرار دهید.
  2. باز کن .gitignore فایل در یک ویرایشگر متن
  3. نام فایل‌ها، دایرکتوری‌ها یا الگوهای فایلی را که می‌خواهید از کنترل نسخه حذف کنید، فهرست کنید، هر کدام در یک خط جدید.
  4. ذخیره کنید .gitignore فایل.

الگوهای متداول برای گنجاندن .gitignore هستند:

  • نام دایرکتوری (به عنوان مثال، node_modules/، dist/، build/)
  • پسوند فایل (به عنوان مثال، *.log، *.tmp، .env)
  • فایل های خاص (به عنوان مثال، secrets.txt، config.ini)
gitignore
پدید آوردن .gitignore فایل

اطمینان حاصل کنید که .gitignore فایل متعهد شده و به مخزن منتقل می شود. سپس Git به‌طور خودکار فایل‌ها و دایرکتوری‌های فهرست‌شده را از مرحله‌بندی یا تعهد حذف می‌کند.

به طور منظم بررسی و به روز رسانی .gitignore فایل به عنوان فایل های جدید یا دایرکتوری ها برای گنجاندن در مخزن غیر ضروری می شوند. این تمرین به حفظ تاریخچه کنترل نسخه تمیز و متمرکز کمک می کند.

دلایلی برای جلوگیری از ارسال فایل های غیر ضروری

همانطور که قبلا ذکر شد، اجتناب از فایل های غیر ضروری در یک مخزن برای حفظ کارایی، امنیت و همکاری بسیار مهم است. در اینجا چند دلیل برای اهمیت آن وجود دارد:

  1. کاهش حجم مخزن: فایل‌های غیرضروری می‌توانند اندازه مخزن را متورم کنند، و شبیه‌سازی و واکشی را برای همکاران کندتر کند.
  2. عملکرد بهبود یافته: مخازن بزرگ با فایل‌های غیرضروری می‌توانند بر عملکرد عملیات‌های مختلف Git مانند شاخه‌بندی، ادغام و پیمایش تاریخ تأثیر بگذارند.
  3. افزایش همکاری: حذف فایل‌های غیرضروری تضمین می‌کند که فقط کدها و دارایی‌های مربوطه بین اعضای تیم به اشتراک گذاشته می‌شوند و همکاری را بهبود می‌بخشد و سردرگمی را کاهش می‌دهد.
  4. وضوح کنترل نسخه: با حذف فایل‌های غیرضروری، تاریخچه کنترل نسخه بر تغییرات معنی‌دار متمرکز می‌شود و درک و بررسی جدول زمانی توسعه را آسان‌تر می‌کند.
  5. امنیت و محرمانه بودن: اجتناب از گنجاندن اطلاعات حساس، مانند کلیدهای API یا رمزهای عبور، در مخزن به حفظ امنیت و محرمانه بودن کمک می کند.
  6. نگهداری و استقرار آسان تر: هنگامی که فایل‌های غیر ضروری حذف می‌شوند، وظایف نگهداری، مانند شبیه‌سازی یا استقرار مخزن، سریع‌تر و ساده‌تر می‌شوند.

به علاوه، مهم است که مخزن را با برداشتن منظم تغییرات از شاخه اصلی و حل هرگونه تضاد، به روز نگه دارید. این از تداخل ادغام جلوگیری می کند و تضمین می کند که همه با جدیدترین نسخه کد کار می کنند.

با پیروی از این بهترین شیوه‌ها، می‌توانید کارآمدتر و با مشارکت بیشتر روی پروژه‌های Git کار کنید، خطر خطاها و درگیری‌ها را کاهش دهید و پایگاه کد خود را تمیز و قابل نگهداری نگه دارید.

نتیجه

در این آموزش، برخی از بهترین روش‌های استفاده از Git برای مدیریت پروژه‌های توسعه نرم‌افزار شما را پوشش داده‌ایم.

ما در مورد اهمیت کنترل نسخه و اینکه چگونه Git می تواند به شما در پیگیری تغییرات در پایگاه کد خود کمک کند، بحث کردیم. همچنین دستورات اساسی برای ایجاد و انجام تغییرات و نحوه کار با مخازن راه دور را پوشش دادیم. در نهایت، برخی از بهترین روش‌ها برای استفاده از Git را مورد بحث قرار دادیم، از جمله کوچک نگه‌داشتن commit‌ها و متمرکز کردن آنها، استفاده از پیام‌های commit واضح و مختصر، شاخه‌بندی مکرر برای جداسازی تغییرات، و استفاده از درخواست‌های کشش برای بررسی کد.

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

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

چه یک مبتدی یا یک توسعه دهنده با تجربه باشید، همیشه چیزهای جدیدی در مورد Git وجود دارد. بنابراین به کاوش ادامه دهید، به آزمایش ادامه دهید، و مرزهای کاری را که می توانید با Git انجام دهید را کنار بگذارید.