اموزش گیت و گیت هاب(اصطلاحات و دستورات)

بسم الله الرحمن الرحیم گیت"git" چیست؟ به اصطلاح یک سیستم ورژن کنترل است. به زبان ساده کد های شما را در قدم های مختلف ذخیره میکند و این امکان را به شما می دهد هر زمان که نیاز بود بدون ترس از خراب شدن پروژه به عقب برگردید.برای استفاده از گیت شما میتوانید از رابط کاربری" command prompt" استفاده کنید یا اینکه از رابط های گرافیکی موجود گیت مثل نرم افزار Source tree استفاده کنید. اما در این مقاله برای شروع از روش اول استفاده می کنیم. گیت هاب "git hub"چیست؟گیت هاب یک سایت است که میتوانید فایل های گیت یا همان ریپازتوری "repository" خود را در آنجا اپلود کنید .این سایت نه تنها جایی امن برای ذخیره کد های شماست بلکه با ابزاری که در اختیار شما می گذار کار روی پروژه های گروهی را بسیار اسان تر می کند.البته سایت های مختلفی وجود دارند که این امکان را به شما می دهند ولی در این اموزش ما از گیت هاب استفاده می کنیمریپازتوری "repository" چیست ؟ به زبان ساده در برنامه نویسی جایی که فایل های گیت و کد های شما ذخیره می شود repository نام دارد.آشنایی با "command prompt"چیست ؟با سرچ کردن command prompt در نوار سرچ استارت می توانید به این نرم افزار دسترسی پیدا کنید.بعد از اجرا شما فقط یک صفحه سیاه و یکسری متن مشاهده می کنید. در واقع شما با نوشتن دستورات در این صفحه با نرم افزار های مختلف ارتباط برقرار می کنید.برخلاف ظاهر غلط اندازش کار با آن سخت نیست,البته اگر دنبال یک اموزش کامل و رایگان برای command هستید می توانید به این لینک مراجعه کنید => اموزش رایگان commandبعضی از اصطلاحات و دستورات command line دایرکتوری "directory"در اینجا به معنی پوشه استدستور "cd" مخفف change directory است. با نوشتن cd و بعد از فاصله نوشتن پوشه مقصد دایرکتوری تغییر می کند دستور "dir". با نوشتن این دستور تمام محتویات پوشه ایی را به صورت لیست به شما نشان می دهددستور "more" .با نوشتن اسم فایل متنی بعد از این دستور محتوای ان را نمایش می دهد.دستور "mkdir" .اگر بعد از نوشتن این دستور اسمی وارد کنید یک پوشه با ان اسم برای شما می سازد.دستور "rmdir".برای حذف پوشه اسم پوشه را بعد از نوشتن این دستور می نویسید "rmdir"folder name.دستور "/cd"شما را به پایین ترین مسیر می برد.نصب گیت "git"روی پی سی ابتدا باید چک کنید که ایا گیت روی سیستم شما نصب است یا نه برای چک کردن باید در command line این دستور را تایپ کنید git versionاگر جوابی مانند git version 2.38.1.windows.1 امد یعنی شما رو سیستم خود گیت را دارید و گرنه باید ان را دانلود کنید . برای دانلود گیت باید به این سایت بروید https://gitforwindows.org/ و گیت را دانلود و نصب کنید. توجه داشته باشید که هنگام نصب تیک نصب git bash را هم بزنید .git bash چیزی مانند command prompt ویندوز است البته با یکسری امکانات بییشتر برای کار با گیت. بعد از نصب گیت در منوی استارت GIT BASH را سرچ کنید و اجرا کنید و دوباره دستور git version را تایپ کنید اینبار باید ورژن گیت را به شما نشان دهد که به این معنی است که گیت روی سیستم شما نصب شده است. ساخت و فعال سازی Ssh key در گیت هاببرای استفاده از تمام خدمات انلاین گیت و گیت هاب نیاز به یک Ssk key دارید که خوشبختانه روند ساده ایی برای ساخت و فعال سازی ان وجود دارد.1- فایل های Ssh در مسیر C:\Users\yourname\.ssh2- گیت بش را باز کنید و این دستور را وارد کنید. در انتها بجای your email ایمیل خودتان را وارد کنید. ssh-keygen -t ed25519 -C &quotyour_email@example.com&quot3-بعد وارد کردن دستور چند بار اینتر بزنید تا Ssh key را تولید کند 4- عملیات بالا دو کد در مسیر C:\Users\yourname\.ssh تولید می کند توجه داشته باشد بجای yourname باید نام سیستم خود را بنویسد. فایلی که در انتها .pub دارد کد پابلیک شما است و فایل دیگر کد پرایوت . کد پابلیک را با یک نرم افزار ویرایش متن یا کد باز کنید و محتوی آن را کپی کنید. 5- سپس به سایت گیت هاب بروید از بخش settings قسمت ssh and gpg key را انتخاب کنید و روی گزینه new ssh key کلیک کنید و کدی که کپی کرده بودید را جای گذاری کنید .6-الان نوبت معرفی کد پرایوت است برای اینکار ابتدا باید در گیت بش"git bah" این دستور را تایپ کنید eval &quot$(ssh-agent -s)&quot7-سپس باید دستور زیر را در گیت بش اجرا کنید .توجه کنید که در انتهای دستور باید نام کد پرایوت خود را بنویسد که معمولا id_ed25519 است اما اگر نام کد شما فرق داشت باید در کد زیر نام کد خود را جایگزین کنید.ssh-add ~/.ssh/id_ed255198- با انجام قدم های بالا شما یکssh key ساختید و آن را به اکانت خود متصل کردید.کلون "clone"کردن در گیتاگر بخواهید پروژه ایی را از گیت هاب به سیستم خود انتقال دهید باید آن را کلون کنید . 1- در گیت بش "git bash" وارد پوشه ایی که میخواید فایل ها در آن دانجا منتقل شوند بروید.2- وارد صفحه پروژه در گیت هاب بشوید و از قسمت کد ادرس ssh را کپی کنید .3- در گیت بش این دستور را بنویسید .بجای Sshkey در دستور زیر ,چیزی را که در مرحله قبل کپی کرده ایی را وراد کنید.git clone sshkey4-منتظر بمانید تا فایل ها به سیستم شما منتقل بشوندپوش پول "push and pull" در گیت چیستاگر در سیستم خود روی پروژه تغییراتی ایجاد کردید برای ارسال این تغییرات به گیت هاب باید از دستور git push استفاده کنید . اما اگر تغییراتی در نسخه انلاین پروژه در گیت هاب اعمال شده و نیاز دارید ان را دریافت کنید باید از دستور git pull استفاده کنید.کمییت"commit" کردن در گیت چیستشما بعد از کوچکترین تغییر در پروژه میتوانید آن را با یک توضیح ثبت کنید . برای مثال به یکی از کد ها سه خط جدید اضافه کردید. در ابتدا با استفاده از دستور git status می توانید لیست فایل هایی که تغییر کرده اند را مشاهده کنید. سپس با دستور . git add تمام فایل ها را به اصطلاح Stag کنید و در مرحله بعد با دستور زیر فایل خود را سیو یا همان commit کنید.git commit-m&quotموضوع تغییر&quot -m&quotتوضیحات تغییر&quotاضافه کردن پروژه از سیستم به گیت هاب1- یک ریپازتوری خالی در گیت هاب ایجاد کنید و سپس Ssh key آن پروژه را کپی کنید. 2- با استفاده از گیت بش git bash وارد پوشه پروژه خود بشوید و این کد را کپی کنید . بحای Sshkey چیزی که در مرحله قبل کپی کردید را وارد کنید.git remote add origine master sshkey3-پروژه را با دستور زیر پوش "push " کنید git push -u origine4 - منتظر بمانید تا پروژه شما اپلود بشود .برانچ"branch" در گیت"git" چیستبرانچ در واقع شاخه هایی است که کد های شما در ان ذخیره می شود .در ابتدا شما فقط یک برانچ به اسم 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 کردن در گیتاگر فایلی را به اشتباه استیج کردید برای undo کرد از دستور زیر استفاده کنید git resetاگر میخواهید یه قدم به عقب برگردید یا به عبارت دیگر به commit قبلی بر گردید از دستور استفاده کنید .توجه کنید که کلمه HEAD باید با حروف بزرگ نوشته بشود.git reset HEAD ~1برای دیدن سابقه commit از دستور زیر استفاده کنید .git logبرای برگشت به یک کمیت خاص با استفاده از دستور git log کد آن کمیت را کپی کنید و سپس با دستور زیر به آن کمییت برگردید. بجای hashcod از کدی که از git log کپی کردید استفاده کنید.git reset hashcodفورک"fork" در گیت هاب چیستبرای مثال فرض کنید در گیت هاب پروژه ایی از شخص دیگر توجه شما را جلب می کند و شما تصمیم میگیرید چیزی به آن اضافه کنید برای اینکار ابتدا باید یک کپی از آن را در صفحه خود اضافه کنید .به اینکار fork کردن می گویند.