GIT: دستورات اساسی – انجمن DEV

git چیست؟
Git یک سیستم کنترل نسخه (VCS) محبوب و پرکاربرد برای مدیریت پروژه های توسعه نرم افزار است. این سیستم توسط لینوس توروالدز در سال 2005 ایجاد شد و از آن زمان به یکی از محبوب ترین سیستم های کنترل نسخه در حال استفاده تبدیل شده است.
Git به چندین توسعهدهنده اجازه میدهد تا به طور همزمان روی یک پروژه کار کنند بدون اینکه در کار یکدیگر دخالت کنند. تغییرات ایجاد شده در کد منبع پروژه را ردیابی می کند و به توسعه دهندگان اجازه می دهد تا با ادغام آنها در یک پایگاه کد مشترک، روی آن تغییرات همکاری کنند. این امر مدیریت پروژه های پیچیده با مشارکت کنندگان متعدد را آسان تر می کند.
Git همچنین یک سیستم کنترل نسخه توزیع شده است، به این معنی که هر توسعه دهنده یک کپی کامل از کد منبع و تاریخچه پروژه را در ماشین محلی خود دارد. این به توسعه دهندگان اجازه می دهد تا به صورت آفلاین کار کنند و سپس در صورت اتصال به اینترنت، تغییرات خود را با سایر اعضای تیم همگام کنند.
خط فرمان
راه های مختلفی برای استفاده از Git وجود دارد. ابزارهای خط فرمان اصلی وجود دارد، و بسیاری از رابط های کاربری گرافیکی با قابلیت های مختلف وجود دارد. ما از Git در خط فرمان استفاده خواهیم کرد. برای مثال، خط فرمان تنها مکانی است که میتوانید همه دستورات Git را اجرا کنید – بیشتر رابطهای کاربری گرافیکی برای سادگی، تنها بخشی از زیرمجموعهای از عملکرد Git را پیادهسازی میکنند.
اگر میدانید چگونه نسخه خط فرمان را اجرا کنید، احتمالاً میتوانید نحوه اجرای نسخه رابط کاربری گرافیکی را نیز بیابید، در حالی که لزوماً خلاف آن صادق نیست. همچنین، در حالی که انتخاب مشتری گرافیکی شما یک موضوع سلیقه ای است، همه کاربران ابزارهای خط فرمان را نصب و در دسترس خواهند داشت.
-
git init: یک مخزن جدید Git را راه اندازی می کند و شروع به ردیابی دایرکتوری موجود می کند. این یک زیر پوشه پنهان در فهرست موجود اضافه می کند که ساختار داده داخلی مورد نیاز برای کنترل نسخه را در خود جای می دهد.
-
git clone: یک کپی محلی از پروژه ای که قبلاً از راه دور وجود دارد ایجاد می کند. کلون شامل تمام فایلها، تاریخچه و شاخههای پروژه است.
-
git add: مرحله تغییر. Git تغییرات را در پایگاه کد توسعهدهنده ردیابی میکند، اما لازم است که تغییرات را مرحلهبندی کرده و از آنها یک عکس فوری بگیرید تا در تاریخچه پروژه گنجانده شود. این دستور مرحلهبندی را انجام میدهد، بخش اول آن فرآیند دو مرحلهای. هر تغییری که روی صحنه می رود، بخشی از عکس فوری بعدی و بخشی از تاریخچه پروژه خواهد بود. مرحله بندی و تعهد به طور جداگانه به توسعه دهندگان کنترل کاملی بر تاریخچه پروژه خود بدون تغییر نحوه کدنویسی و کار می دهد.
-
git commit: عکس فوری را در تاریخچه پروژه ذخیره می کند و فرآیند ردیابی تغییرات را تکمیل می کند. به طور خلاصه، یک commit مانند عکس گرفتن عمل می کند. هر چیزی که با آن صحنه سازی شده است
git add با git commit بخشی از عکس فوری خواهد شد. -
وضعیت git: وضعیت تغییرات را به صورت پیگیری نشده، اصلاح شده نشان می دهد،
یا صحنه سازی شده است. -
شاخه git: شعبه هایی را که به صورت محلی روی آنها کار می شود نشان می دهد.
-
git ادغام: خطوط توسعه را با هم ادغام می کند. این دستور معمولاً برای ترکیب تغییرات ایجاد شده در دو شاخه مجزا استفاده می شود. برای مثال، زمانی که یک توسعهدهنده میخواهد تغییرات را از شاخه ویژگی به شاخه اصلی برای استقرار ترکیب کند، ادغام میشود.
-
git pull: خط توسعه محلی را با به روز رسانی از همتای راه دور خود به روز می کند. توسعه دهندگان از این دستور استفاده می کنند اگر یک هم تیمی تعهداتی را به شعبه ای روی کنترل از راه دور داده باشد و آنها مایلند این تغییرات را در محیط محلی خود منعکس کنند.
-
git push: مخزن راه دور را با هر گونه تعهدی به روز می کند
به صورت محلی به یک شعبه
یک مخزن جدید راه اندازی کنید و آن را در GitHub منتشر کنید
ابتدا باید یک مخزن جدید در GitHub ایجاد کنید. مخزن را با فایل README، .gitignore یا License مقداردهی اولیه نکنید. این مخزن خالی منتظر کد شما خواهد بود.
# create a new directory, and initialize it with git-specific functions
git init my-repo
# change into the `my-repo` directory
cd my-repo
# create the first file in the project
touch README.md
# git isn't aware of the file, stage it
git add README.md
# take a snapshot of the staging area
git commit -m "add README to initial commit"
# provide the path for the repository you created on github
git remote add origin https://github.com/YOUR-USERNAME/YOUR-REPOSITORY-NAME.git
# push changes to github
git push --set-upstream origin main
در یک مخزن موجود مشارکت کنید
# download a repository on GitHub to our machine
# Replace `owner/repo` with the owner and name of the repository to clone
git clone https://github.com/owner/repo.git
# change into the `repo` directory
cd repo
# create a new branch to store any new changes
git branch my-branch
# switch to that branch (line of development)
git checkout my-branch
# make changes, for example, edit `file1.md` and `file2.md` using the text editor
# stage the changed files
git add file1.md file2.md
# take a snapshot of the staging area (anything that's been added)
git commit -m "my snapshot"
# push changes to github
git push --set-upstream origin my-branch
در یک شعبه موجود در GitHub مشارکت کنید
این مثال فرض میکند که شما قبلاً پروژهای به نام repo روی دستگاه دارید و از آخرین باری که تغییرات به صورت محلی انجام شده است، یک شعبه جدید به GitHub فرستاده شده است.
# change into the `repo` directory
cd repo
# update all remote tracking branches, and the currently checked out branch
git pull
# change into the existing branch called `feature-a`
git checkout feature-a
# make changes, for example, edit `file1.md` using the text editor
# stage the changed file
git add file1.md
# take a snapshot of the staging area
git commit -m "edit file1"
# push changes to github
git push
تعداد دستورات در git بسیار زیاد است. اما به خاطر سپردن این دستورات کار سختی نیست، فقط باید کار با Git را شروع کنید و بیشتر دستورات بر این اساس به خاطر سپرده می شوند.
برای دستورات git بیشتر
منابع:
git
https://docs.github.com/en
https://docs.github.com/en/get-started/using-git/about-git