From 65cfa541bd60a88f0e70badcb6a4e43f9ef15d1f Mon Sep 17 00:00:00 2001
From: Sayyid Ayoub Kokabi صرفا یک راهنمای ساده و ابتدایی برای شروع کار با گیت
+ یک فولدر جدید ساخته و آن را باز کنید. سپس با اجرای این دستور مخزن جدیدی ایجاد نمایید.
+ جهت ساخت یک کپی کاری از مخزن محلی، این دستور را اجرا نمایید:
+ مخزن محلی شما از سه درخت تحت کنترل گیت تشکیل شده:
+ اولی
+ به منظور پیشنهاد تغییرات (یا اضافه نمودن آن به ایندکس) از دستور پایین استفاده کنید
+ تغییرات شما اکنون بر روی HEAD واقع در کپی کاریِ محلی شما قرار دارد. جهت ارسال این تغییرات به مخزن راه دور دستور زیر را اجرا کنید
+ شاخهها به منظور توسعه ایزوله و جداگانه فیچرهای برنامه استفاده میشوند. شاخه master شاخه پیشفرض هنگام ساخت مخزن کد است. برای توسعه کد از سایر شاخهها استفاده کنید و در پایان کار آنها را با شاخه اصلی یا master ادغام نمایید.
+
+ یک شاخه جدید با نام «feature_x» بسازید و با دستور زیر به آن سوییچ کنید
+ برای بهروزکردن مخزن محلی به جدیدترین commit این فرمان را در فولدر کاری اجرا کنید
+ پیشنهاد میشود برای هر نسخه از برنامه یک تگ یا برچسب تعیین کنید. این یک مفهوم شناخته شده است که در سورسکنترلهای دیگری مثل سابورژن هم وجود دارد. شما میتوانید برچسبی تحت عنوان 1.0.0 را با دستور زیر ایجاد کنید
+ در سادهترین شکل، تاریخچه مخزن را با استفاده از دستور
+
+ در صورتی که اشتباهی انجام دادید و قصد بازگردانی کد را داشتید، این دستور را وارد کنید:
+ به جای این کار اگر قصد داشته باشید همه commitها و تغییرات محلیتان را حذف کنید، آخرین تاریخچه را از سرور دریافت کرده و شاخه master خود را به آن اشاره دهید:
+ رابط گرافیکی git
+
+
+ راهنمای ساده git (به فارسی: گیت)
+
+
ساخت یک مخزن یا repository جدید
+
+ git init
+ Checkout کردن مخزن
+
+ git clone /path/to/repository
+ و برای سرور راه دور این یکی:
+ git clone username@host:/path/to/repository
+ گردش کار
+ فولدر کاری
شماست که فایلهای واقعی را نگهداری میکند.
+ دومی ایندکس
که در حکم منطقه استیج یا شروع عملیات بوده و نهایتا
+ هد (HEAD)
که به آخرین commitای که ساختهاید اشاره دارد.
+
+
افزودن و تصدیق (commit)
+
+ git add <filename>
+ git add *
+ این اولین گام در گردش کاراست. برای Commit کردن واقعی تغییرات از این دستور استفاده کنید
+ git commit -m "Commit message"
+ اکنون فایل مورد نظر به HEAD اضافه شده ولی هنوز به مخزن راه دور (روی سرور) ارسال نشده است.
+ فرستادن یا Push کردن تغییرات
+
+ git push origin master
+ به جای master هر انشعاب یا شاخهای که قصد ارسال تغییرات روی آن دارید را وارد کنید.
+
+ اگر هنوز مخزن موجود را clone نکرده و قصد اتصال آن به سرور راه دور را دارید از این دستور استفاده کنید
+ git remote add origin <server>
+ اکنون میتوانید تغییرات صورت گرفته را به ریموت سرور Push کنید.
+
+ branching - کار با شاخهها
+
+
+ git checkout -b feature_x
+ به شاخه master بازگردید
+ git checkout master
+ و شاخه قبلی را حذف کنید
+ git branch -d feature_x
+ شاخه در دسترس دیگران نیست مگر آن را بر روی سرور پوش کرده باشید.
+ git push origin <branch>
+ بهروزرسانی (update) و ادغام (merge)
+
+ git pull
+ تا تغییرات راه دور دریافت یا fetch و ادغام شوند.
+ برای ادغام سایر شاخهها داخل شاخه فعالتان (مثلا master) از دستور پایین استفاده کنید
+ git merge <branch>
+ در هر دو حالت گیت تلاش میکند تا تغییرات را به صورت خودکار ادغام کند. متاسفانه این کار همیشه مقدور نیست و گاهی اوقات منجر به تداخل میشود.
+ در این شرایط خودتان مسئول ویرایش فایلهای گزارش شده، رفعاختلالها
+ و ادغام آن هستید.
+ git add <filename>
+ قبل از ادغام تغییرات با این دستور میتوانید پیشنمایش آن را مشاهده نمایید
+ git diff <source_branch> <target_branch>
+ برچسبگذاری یا tagging
+
+ git tag 1.0.0 1b2e1d63ff
+ عبارت 1b2e1d63ff بیانگر 10 کاراکتر اول شناسه یا id آن Commit ای است که میخواهید برچسبگذاری کنید. برای به دست آوردن این آیدی از دستور log که در ادامه معرفی خواهیم کرد استفاده میشود.
+ گزارش وقایع یا Log
+ git log
مشاهده کنید.
+ شما میتوانید تعداد زیادی پارامتر جهت ساخت گزارش یا لاگ مطابق میل خود اضافه کنید. برای مشاهده Commit های متعلق به فرد خاصی از این دستور استفاده نمایید
+ git log --author=bob
+ برای دیدن نسخه فشرده لاگ طوری که هر Commit تنها در یک خط نمایش داده شود از این دستور استفاده کنید
+ git log --pretty=oneline
+ و یا شاید دوست داشته باشید همه شاخهها را به صورت درختواره اسکی شامل عنوان برچسبها و شاخهها مشاهده کنید
+ git log --graph --oneline --decorate --all
+ تنها فایلهایی که تغییر کردهاند را ببینید
+ git log --name-status
+ اینها تنها بخشی کوچکی از پارامترهای قابل استفاده است. برای اطلاعات بیشتر از این دستور استفاده کنید
+ git log --help
+ بازیابی تغییرات محلی
+
+ git checkout -- <filename>
+ این دستور تغییرات working tree را با آخرین محتوای موجود در Head جایگزین میکند. البته تغییراتی که پیش از این به ایندکس اضافه شدهاند و همچنین فایلهای جدید، پابرجا خواهند بود.
+
+ git fetch origin
+ git reset --hard origin/master
+ نکات مفید
+
+ gitk
+ خروجی git را به صورت رنگی مشاهده کنید
+ git config color.ui true
+ نمایش یک خط به ازای هر Commit در لاگ
+ git config format.pretty oneline
+ فرمان add را به صورت تعاملی تجربه کنید.
+ git add -i
+ لینکها و منابع
+ کلاینتهای گرافیکی
+
+
+
+ راهنماها
+ دریافت کمک
+ git - the simple guide
မြန်မာ,
日本語,
中文,
- 한국어
- Vietnamese
+ 한국어,
+ Vietnamese,
+ فارسی
please report issues on github
دیدگاهها
+ + + +