بسم الله الرحمن الرحیم
به اصطلاح یک سیستم ورژن کنترل است. به زبان ساده کد های شما را در قدم های مختلف ذخیره میکند و این امکان را به شما می دهد هر زمان که نیاز بود بدون ترس از خراب شدن پروژه به عقب برگردید.
برای استفاده از گیت شما میتوانید از رابط کاربری" command prompt" استفاده کنید یا اینکه از رابط های گرافیکی موجود گیت مثل نرم افزار Source tree استفاده کنید. اما در این مقاله برای شروع از روش اول استفاده می کنیم.
گیت هاب یک سایت است که میتوانید فایل های گیت یا همان ریپازتوری "repository" خود را در آنجا اپلود کنید .این سایت نه تنها جایی امن برای ذخیره کد های شماست بلکه با ابزاری که در اختیار شما می گذار کار روی پروژه های گروهی را بسیار اسان تر می کند.البته سایت های مختلفی وجود دارند که این امکان را به شما می دهند ولی در این اموزش ما از گیت هاب استفاده می کنیم
ریپازتوری "repository" چیست ؟ به زبان ساده در برنامه نویسی جایی که فایل های گیت و کد های شما ذخیره می شود repository نام دارد.
با سرچ کردن command prompt در نوار سرچ استارت می توانید به این نرم افزار دسترسی پیدا کنید.بعد از اجرا شما فقط یک صفحه سیاه و یکسری متن مشاهده می کنید. در واقع شما با نوشتن دستورات در این صفحه با نرم افزار های مختلف ارتباط برقرار می کنید.
برخلاف ظاهر غلط اندازش کار با آن سخت نیست,البته اگر دنبال یک اموزش کامل و رایگان برای command هستید می توانید به این لینک مراجعه کنید => اموزش رایگان command
بعضی از اصطلاحات و دستورات command line
ابتدا باید چک کنید که ایا گیت روی سیستم شما نصب است یا نه برای چک کردن باید در command line این دستور را تایپ کنید
git version
اگر جوابی مانند git version 2.38.1.windows.1 امد یعنی شما رو سیستم خود گیت را دارید و گرنه باید ان را دانلود کنید .
برای دانلود گیت باید به این سایت بروید https://gitforwindows.org/ و گیت را دانلود و نصب کنید. توجه داشته باشید که هنگام نصب تیک نصب git bash را هم بزنید .git bash چیزی مانند command prompt ویندوز است البته با یکسری امکانات بییشتر برای کار با گیت.
بعد از نصب گیت در منوی استارت GIT BASH را سرچ کنید و اجرا کنید و دوباره دستور git version را تایپ کنید اینبار باید ورژن گیت را به شما نشان دهد که به این معنی است که گیت روی سیستم شما نصب شده است.
برای استفاده از تمام خدمات انلاین گیت و گیت هاب نیاز به یک Ssk key دارید که خوشبختانه روند ساده ایی برای ساخت و فعال سازی ان وجود دارد.
1- فایل های Ssh در مسیر C:\Users\yourname\.ssh
2- گیت بش را باز کنید و این دستور را وارد کنید. در انتها بجای your email ایمیل خودتان را وارد کنید.
ssh-keygen -t ed25519 -C "your_email@example.com"
3-بعد وارد کردن دستور چند بار اینتر بزنید تا Ssh key را تولید کند
4- عملیات بالا دو کد در مسیر C:\Users\yourname\.ssh تولید می کند توجه داشته باشد بجای yourname باید نام سیستم خود را بنویسد.
فایلی که در انتها .pub دارد کد پابلیک شما است و فایل دیگر کد پرایوت . کد پابلیک را با یک نرم افزار ویرایش متن یا کد باز کنید و محتوی آن را کپی کنید.
5- سپس به سایت گیت هاب بروید از بخش settings قسمت ssh and gpg key را انتخاب کنید و روی گزینه new ssh key کلیک کنید و کدی که کپی کرده بودید را جای گذاری کنید .
6-الان نوبت معرفی کد پرایوت است برای اینکار ابتدا باید در گیت بش"git bah" این دستور را تایپ کنید
eval "$(ssh-agent -s)"
7-سپس باید دستور زیر را در گیت بش اجرا کنید .توجه کنید که در انتهای دستور باید نام کد پرایوت خود را بنویسد که معمولا id_ed25519 است اما اگر نام کد شما فرق داشت باید در کد زیر نام کد خود را جایگزین کنید.
ssh-add ~/.ssh/id_ed25519
8- با انجام قدم های بالا شما یکssh key ساختید و آن را به اکانت خود متصل کردید.
اگر بخواهید پروژه ایی را از گیت هاب به سیستم خود انتقال دهید باید آن را کلون کنید .
1- در گیت بش "git bash" وارد پوشه ایی که میخواید فایل ها در آن دانجا منتقل شوند بروید.
2- وارد صفحه پروژه در گیت هاب بشوید و از قسمت کد ادرس ssh را کپی کنید .
3- در گیت بش این دستور را بنویسید .بجای Sshkey در دستور زیر ,چیزی را که در مرحله قبل کپی کرده ایی را وراد کنید.
git clone sshkey
4-منتظر بمانید تا فایل ها به سیستم شما منتقل بشوند
اگر در سیستم خود روی پروژه تغییراتی ایجاد کردید برای ارسال این تغییرات به گیت هاب باید از دستور git push استفاده کنید . اما اگر تغییراتی در نسخه انلاین پروژه در گیت هاب اعمال شده و نیاز دارید ان را دریافت کنید باید از دستور git pull استفاده کنید.
شما بعد از کوچکترین تغییر در پروژه میتوانید آن را با یک توضیح ثبت کنید . برای مثال به یکی از کد ها سه خط جدید اضافه کردید. در ابتدا با استفاده از دستور git status می توانید لیست فایل هایی که تغییر کرده اند را مشاهده کنید. سپس با دستور . git add تمام فایل ها را به اصطلاح Stag کنید و در مرحله بعد با دستور زیر فایل خود را سیو یا همان commit کنید.
git commit-m"موضوع تغییر" -m"توضیحات تغییر"
1- یک ریپازتوری خالی در گیت هاب ایجاد کنید و سپس Ssh key آن پروژه را کپی کنید.
2- با استفاده از گیت بش git bash وارد پوشه پروژه خود بشوید و این کد را کپی کنید . بحای Sshkey چیزی که در مرحله قبل کپی کردید را وارد کنید.
git remote add origine master sshkey
3-پروژه را با دستور زیر پوش "push " کنید
git push -u origine
4 - منتظر بمانید تا پروژه شما اپلود بشود .
برانچ در واقع شاخه هایی است که کد های شما در ان ذخیره می شود .در ابتدا شما فقط یک برانچ به اسم master دارید .برای اینکه ببیند چند برانچ دارید و در حال حاظر در کدام برانچ هستید دستور زیر استفاده کنید
git branch
شما میتوانید برانچ جدید بسازید و یا برانچ ها را حذف کنید.مثلا فرض کنید قصد دارید روی یک قابلیت جدید کار کنید و کد های ان را بنویسید ولی نمیخواهید ریسک بهم ریختن پروژه بخاطر تغییرات جدید را بکنید.اینجاست که باید یک برانچ جدید بسازید .
برای ساخت یک برانچ جدید از دستور زیر استفاده کنید . در ستور زیر بجای branchName نام دلخواه خود را بنویسید.
git checkout -b branchName
برای اضافه کردن برانچ جدید به گیت هاب از دستور زیر استفاده کنید
git push -u branchName
برای اینکه ببیند در کدام برانچ هستید از دستور git branch استفاده کنید.
برای اینکه بین برانچ ها جابجا بشوید از دستور زیر استفاده کنید البته بجای branchname نام برانچ موجود را بنویسید
git checkout branchname
برای اینکه تفاوت برانچی که در ان هستید با برانچ دیگر را ببینید از دستور زیرا استفاده کنید
git diff branchname
برای حذف برانچ از دستور استفاده کنید
git branch -d branchname
برای مرج "merge" کردن یا همان ترکیب کردن دو برانچ با هم از دستور زیر استفاده کنید
git merge branchname
اگر فایلی را به اشتباه استیج کردید برای undo کرد از دستور زیر استفاده کنید
git reset
اگر میخواهید یه قدم به عقب برگردید یا به عبارت دیگر به commit قبلی بر گردید از دستور استفاده کنید .توجه کنید که کلمه HEAD باید با حروف بزرگ نوشته بشود.
git reset HEAD ~1
برای دیدن سابقه commit از دستور زیر استفاده کنید .
git log
برای برگشت به یک کمیت خاص با استفاده از دستور git log کد آن کمیت را کپی کنید و سپس با دستور زیر به آن کمییت برگردید. بجای hashcod از کدی که از git log کپی کردید استفاده کنید.
git reset hashcod
برای مثال فرض کنید در گیت هاب پروژه ایی از شخص دیگر توجه شما را جلب می کند و شما تصمیم میگیرید چیزی به آن اضافه کنید برای اینکار ابتدا باید یک کپی از آن را در صفحه خود اضافه کنید .به اینکار fork کردن می گویند.