راهنمای سریع Git
قبل از هرچیز پیشنهاد می کنم یک نگاه مختصر به تاپیک نکاتی کوتاه و مختصر درباره کارگروهی، Open source, License, SCM, Git, Svn بندازید.
منبع: http://forum.iranphp.org
"نرم افزار Git دو بخش داره که یکیش Git-BASh هستش و دیگری Git-GUI.
Git-BASh همون محیط شبیه Shell/DOS سیاه و سفید ای Git هستش که همه فعالیت ها بصورت دستوری و متنی انجام میشن.
Git-GUI محیط گرافیکی(فرم دار) Git هستش که همه فعالیت ها توسط عناصر فیزیکی انجام میشن. (Button, textbox...)
Windows OS
اول برنامه Git رو از سایت زیر دانلود کنید (سایت رسمی Git):
http://git-scm.com/download/win
بعد نصبش کنید.
بعد برنامه Git-GUI ش رو باز می کنید، که در پنجره باز شده 3 گزینه آبی وجود داره بعلاوه 2 منو اون بالا.![[تصویر: 7z8ml9hgp11yybaljsi0.png]](http://8pic.ir/images/7z8ml9hgp11yybaljsi0.png)
نکته: 3 گزینه آبی وسط با 3 گزینه ی داخل منو Repository یکیه و فقط برای دسترسی راحتتره.
حالا یه SSh key می سازید(یک بار برای همیشه): اینکار براحتی از طریق منوی Help، گزینه Show SSh key، دکمه Generate key امکانپذیره.![[تصویر: 8xsyice7109ol2gqd5s2.png]](http://8pic.ir/images/8xsyice7109ol2gqd5s2.png)
![[تصویر: km9v0hi85jwdbxslkqgt.png]](http://8pic.ir/images/km9v0hi85jwdbxslkqgt.png)
بعد، این محتوا رو کپی می کنید و در سایت مورد نظر، داخل اکانتتون، در بخش SSh keys اضافه می کنید.
(در ویندزو Xp: این Key داخل MyDRIVE:\Documents and Settings\MyUSER\.SSh ذخیره میشه.)
(در ویندزو 7: این Key داخل MyDRIVE:\Users\MyUSER\.ssh ذخیره میشه.)
نکته: تمامی فعالیت ها داخل این برنامه (بصورت پیشفرض) در مسیر MyDRIVE:\Documents and Settings\MyUSER یا MyDRIVE:\Users\MyUSER انجام میشن.
اگرم بخواید می تونید از طریق فایل config ش به پوشه dev/www/root یا هرجایی از سیستمتون تغییرش بدید.
گزینه اول: Create new repository
یک پروژه/Repository جدید ایجاد می کنه. برای وقتی که می خواید یک پروژه جدید شروع کنید.![[تصویر: eyjopyqb52qxeferpprz.png]](http://8pic.ir/images/eyjopyqb52qxeferpprz.png)
بعد از این گزینه از شما نام پروژه رو میخواد که با وارد کردنش و زدن دکمه Create یک پوشه با همون نامی که وارد کردید داخل MyDRIVE:\Documents and Settings\MyUSER\MyProject یا MyDRIVE:\Users\MyUSER\MyProject ساخته میشه. که می تونید داخلش برنامه نویسی تونو شروع کنید!
گزینه دوم: Clone/Copy existing repository
این برای کپی/دانلود کردن یک پروژه/repository هستش. برای وقتی که میخواید پروژه ای رو از جایی دانلود کنید.![[تصویر: eq4oobj38fyio2a237uw.png]](http://8pic.ir/images/eq4oobj38fyio2a237uw.png)
بعد از کلیک روی این گزینه، فیلد اول برای آدرس دانلود پروژه هستش و فیلد دوم برای نام مقصد(محلی که می خواید روی سیستمتون ذخیره می کنید) هستش. به اون 3 گزینه رادیویی هم فعلاً کاری نداشته باشید.
بعد از تکمیل این فیلدها و زدن دکمه Clone یک پوشه با همون نامی که وارد کردید داخل MyDRIVE:\Documents and Settings\MyUSER\MyProject یا MyDRIVE:\Users\MyUSER\MyProject ساخته میشه. که می تونید داخلش برنامه نویسی تونو شروع کنید!
نکته: آدرس پروژه خارجی می تونه //:https یا //:git و یا @git باشه.
گزینه سوم: Open existing repository
این گزینه پروژه/repository موجود روی سیستمتون رو باز می کنه. برای وقتی که پروژه ای از قبل توسط این نرم افزار درست شده.
نکته: پروژه موجود باید حاوی یک پوشه مخصوص .git بعلاوه محتوییاتش باشه.![[تصویر: 5eh5z73xgo1pmzcb1qut.png]](http://8pic.ir/images/5eh5z73xgo1pmzcb1qut.png)
بعد از زدن این گزینه از شما مسیر پروژه موجود رو می خواد، که بعد از دادن مسیر پروژه، دکمه Open رو میزنید. حالا می تونید برید داخلش و برنامه نویسی تونو شروع کنید!
توجه: بعد از زدن هر کدوم از گزینه های بالا، checkout/start پروژه بصورت خودکار انجام میشه.
حالا داخل پروژه شدیم و پنجره جدید با امکاناتش باز شده:![[تصویر: 3vdebloygu4hdcgb6r9j.png]](http://8pic.ir/images/3vdebloygu4hdcgb6r9j.png)
فیلد های Text وسط برنامه:
اون فیلد دراز سمت چپ که بالاش قرمزه(یا همون Unstaged changes)، لیست تغییرات صورت گرفته در پروژه هستش. که هنوز تایید (برای commit) نشدن.
در زیرش، فیلد درازه که بالاش سبزه(یا هموم Staged changes)، لیست تغییراتی هستش که تایید شده و قراره ثبت/commit بشن.
در وسط صفحه، اون فیلد text بزرگه که بالاش زرده، تغییرات (یا همون diff) داخل فایلها رو نشون میده.
اون فیلد text آخری هم که داخلش میشه نوشت، پیام برای commit ای که میزنید. (مثلاً Readme.txt added, Bugs fixed, engine improved و...)
منو:
منوی repository - یکسری ابزار های آمار و Browse پوشه ها توشه...
منوی edit - که گزینه option داخلشه، و شامل تنظیمات هر پروژه و همه پروژه ها(global) و کانفیگ خودتون و پروژه توشه. - اسم و ایمیل و...
منوی branch - فعلاً کاری باهاش ندارید.
منوی commit - گزینه Rescan پروژه رو refresh می کنه. گزینه Stage to commit فایل انتخاب شده از لیست قرمز رو به لیست سبز(آماده برای commit) منتقل می کنه. گزینه Stage changed files to commit کل فایلهای لیست قرمز رو به لیست سبز(آماده برای commit) منتقل می کنه. گزینه Unstage from commit فایلهای انتخاب شده از لیست سبز(تایید شده) رو به لیست قرمز(تایید نشده) برمیگردونه. گزینه Commit برای commit/ثبت کل فایلهای داخل لیست سبز هستش که روبروش هم پیامشو می نویسید.
منوی merge - فعلاً کاری باهاش ندارید.
منوی remote - گزینه push (یا همون upload) برای upload پروژه به سایت(یا مرکز) هستش که بعد از commit همه فایلها باید استفاده میشه.
منوی tools - برای اضافه و حذف کردن دستورات و shortkey های بیشتر هستش. - مثلاً دستوراتی که داخل git-bash هست ولی داخل git-gui نیست.
دکمه ها:
(در واقع برای دسترسی سریع به همون امکانات داخل منو هستند)
5 تا دکمه اون پایین وجود داره که:
Rescan - پروژه رو refresh می کنه. (یا همون آگاه سازی برنامه از آخرین کارهای انجام شده...)
Stage changed - کل فایلهای لیست قرمز رو به لیست سبز(آماده برای commit) منتقل می کنه.
Commit - برای commit/ثبت کل فایلهای داخل لیست سبز هستش که روبروش هم پیامشو می نویسید.
Signoff - فعلاً کاری باهاش ندارید. (مثل مهر می مونه که بیشتر برای term ها و قوانین شرکت در توسعه پروژه ها استفاده میشه)
Push - برای upload پروژه به سایت(یا مرکز) هستش که بعد از commit همه فایلها باید استفاده میشه.![[تصویر: bs9zkb9kik32028le5ax.png]](http://8pic.ir/images/bs9zkb9kik32028le5ax.png)
اگر چیزی داخل قسمت 1 بود دکمه Push رو بزنید و صبر کنید تا کارش تموم شه، ولی اگر خالی بود، آدرس repository پروژه خارجی رو داخل فیلد 2 می نویسید. (اون آدرسی که @ داره)
در این مرحله شاید username و password بخواد، که باید username و password اکانتتون در اون سایت مورد نظر رو بنویسید. اگرم yes/no خواست که yes رو بزنید.
اینم لیستی از سایتهای معتبری که میزبانی Git و کلاً کنترل پروژه رو بعهده دارن:
http://github.com
http://bitbucket.org
http://gitlab.com
http://sourceforge.net"
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .