Documentham | داکیومنت هام
🔆 راهنمای کار با Git :
✅ گیت یک سیستم کنترل نسخه یا VCS هست که به ما این اجازه رو میده تا تغییرات رو در کدهامون پیگیری کنیم و به نسخه های مختلف پروژمون برگردیم و حتی به صورت گروهی روی یک پروژه کار کنیم.
🔹 در کل برای شروع یک پروژه یا اضافه کردن کنترل نسخه به پروژه از دستور زیر استفاده میکنیم تا یک مخزن گیت جدید ایجاد بشه که در اون تمام اطلاعات و تاریخچه مربوط به مخزن گیت قرار داره :
git init
🔹 بعد از اون باید در پوشه اصلی پروژمون یا همون root پروژه یک فایلی بسازیم به اسم :
.gitignore
🔹 تو این فایل اون پوشه ها و فایل هایی که نمیخوایم در ریپازیتوریمون آپلود بشن رو قرار میدیم مثل :
node_modules
.parcel-cache
dist
and...
🔹 برای اینکه یک وضعیت کلی از کارای یکه تا الان کردیم بدونیم مثل اینکه در کدوم branch قرار داریم یا آیا تا الان commit ثبت کردیم یا نه و یا حتی اینکه فایل هامون untracked(ردیابی نشده) هستن یا tracked(ردیابی شده) از دستور زیر استفاده میکنیم :
git status
🔹 برای ردیابی کردن یا همون tracked کردن فایل هامون که بهش اضافه کردن فایل ها به Staging Area هم میگن از دستور زیر استفاده میکنیم :
git add .
یا:
git add -A
🔹میتونیم هم فقط یک فایل خاص رو tracked کنیم مثلا:
git add index.js
🔹 حالا فایل های پروژمون بخشی از ریپازیتوریمون هستن. التبه ریپازیتوری محلی (Local Repository).
با ایجاد تغییر توی پروژه فایلی که تغییر پیدا کرده به حالت untracked در میاد پس هربار هر تغییری رو ایجاد میکنیم این دستور رو میزنیم تا همه tracked بشن.
🔹 کاری که تا الان انجام دادیم اضافه کردم فایل ها و تغییرات به ریپازیتوری بود نه ذخیره کردن اونها. یعنی اگه تغییری انجام بدیم بعدش نمیتونیم برگردیم به حالت قبلی، پس برای این کار باید تغییراتمون رو commit کنیم و در کنارش یک پیام هم میزاریم که دقیقا چه کاری انجام دادیم تا اگه تعداد کامیت هامون زیاد بودن بتونیم بریم به کامیت دلخواه. پس دستور زیر رو میزنیم :
shell
git commit -m "example commit message"
🔹مثال هایی از پیغام خوب برای کامیت کردن:
git commit -m "Fixed header bug"
git commit -m "Added login feature"
git commit -m "Updated README file"
🔹 برای برگشتن به کامیت قبلی از دستور زیر اسفاده میکنیم :
shell
git reset --hard HEAD
🔹 لیست تمام کامیت هایی که انجام دادیم :
shell
git log
🔹 برای رفتن به یک کامیت مشخص کافیه بعد لاگ گرفتن آیدی کامیتی که میخوایم بریم بهش رو بردایم مثل این :
commit 25a5...3547 (HEAD -> master)
🔹 و بعد دستور زیر :
shell
git reset --hard 25a5...3547
🔹 حرکت کردن بین کامیت ها به این صورتی کمی خطرناکه پس بهتره اگه میخوایم تغییری توی پروژمون ایجاد کنیم یک branch جدید بسازیم.
لیست branch های خودمون (لوکال) :
shell
git branch
🔹لیست تمام برنچ ها (لوکال + ریموت):
git branch -a
🔹 برای ساخت یک برنچ جدید از دستور زیر استفاده میکنیم :
shell
git branch <branch name>
🔹 این دستور در واقع یک کپی از برنچ فعلیمون میسازه که میتونیم تغییراتمون رو روی اون ایجاد کنیم و اگه همه چی خوب پیش رفت در نهایت با برنچ اصلیمون که برنچ master هست ادغام یا merge بکنیم.
🔹 برای سوئیچ کردن بین برنچ ها از دستور زیر استفاده میکنیم :
shell
git checkout <branch name>
🔹البته میتونیم با دستور زیر برنچ دلخواهمون رو بسازیم و مستقیم بریم توش و دیگه تو دو مرحله اینکارو نکنیم:
git checkout -b <branch name>
🔹 برای مرج کردن اول میریم تو اون برنچی که در واقع برنچ اصلیمون هست و میخوایم یک برنچ دیگه رو که یکسری تغییرات توش انجام دادیم رو با این برنچ اصلی مرج کنیم پس :
shell
git checkout <branch name EX: master>
🔹 و بعد :
shell
git merge <branch name>
🔹 برای اضافه کردن پروژمون به گیتهاب یا به عبارتی انتقال ریپازیتوری محلیمون به ریپازیتوری گیتهاب ابتدا باید یک ریپازیتوری در گیتهاب بسازیم.
برای اینکار ابتدا دستور زیر رو مینویسیم :
shell
git remote add origin <repo url>
🔹 کاری که کردیم این بود که یک remote branch به اسم origin رو اضافه کردیم و آدرسش رو در انتها قرار دادیم.
🔹 حالا مشخص میکنیم که میخوایم چه برنچی رو انتقال بدیم یا در واقع push کنیم تو ریموت برنچمون که همون origin هستش با دستور :
shell
git push origin master
🔹 گاهی ما تغییراتی رو در مخزن راه دور یا ریموت خودمون که همون گیتهاب باشه ایجاد میکنیم و میخوایم اون تغییرات رو برای اینکه تداخلی با پروژمون تو ریپازیتوری محلی هست نداشته باشه انتقال بدیم به کامپیوترمون پس برای این کار دستور زیر رو میزنیم :
shell
git pull origin master
🔹 بررسی مخزن های ریموت که اضافه کردیم بالاتر با دستور git remote add origin repo url:
git remote -v
🔆 راهنمای کار با Git ☝🏼
15 · 676 ·