مبانی گیت

گیت یک سیستم کنترل نسخه توزیع‌شده است که تغییرات در کد منبع را در طول زمان ردیابی می‌کند.

شروع کار

تنظیم اولیه

# تنظیم نام کاربری
git config --global user.name "نام شما"

# تنظیم ایمیل
git config --global user.email "email@example.com"

ایجاد مخزن جدید

# ایجاد پوشه پروژه
mkdir my-project
cd my-project

# مقداردهی مخزن گیت
git init

# ایجاد فایل
echo "# پروژه من" > README.md

# افزودن و commit
git add README.md
git commit -m "commit اولیه"

Clone مخزن موجود

# از گیتی‌یار
git clone http://localhost:3000/username/repo.git

# با SSH
git clone git@localhost:username/repo.git

گردش کار روزانه

بررسی وضعیت

git status

افزودن فایل‌ها

# افزودن فایل خاص
git add filename.txt

# افزودن همه تغییرات
git add .

# افزودن همه فایل‌های .txt
git add *.txt

Commit تغییرات

# Commit با پیام
git commit -m "پیام توصیفی"

# Commit همه فایل‌های تغییر یافته
git commit -a -m "به‌روزرسانی فایل‌ها"

Push به Remote

# Push به main branch
git push origin main

# Push branch جدید
git push -u origin feature-branch

Pull تغییرات

# دریافت و merge تغییرات
git pull origin main

Branch ها

ایجاد و تغییر Branch

# ایجاد branch جدید
git checkout -b feature/new-feature

# تغییر branch
git checkout main

# لیست branch ها
git branch

حذف Branch

# حذف branch محلی
git branch -d feature-branch

# حذف branch remote
git push origin --delete feature-branch

Merge و Rebase

Merge

# تغییر به branch target
git checkout main

# Merge branch دیگر
git merge feature-branch

Rebase

# Rebase branch شما روی main
git checkout feature-branch
git rebase main

حل Conflict

وقتی conflict اتفاق می‌افتد:

# فایل‌های conflicted را ببینید
git status

# فایل‌ها را ویرایش و conflict ها را حل کنید
# سپس:
git add .
git commit -m "حل conflict ها"

Undo تغییرات

Undo تغییرات محلی

# Discard تغییرات در فایل
git checkout -- filename.txt

# Unstage فایل
git reset HEAD filename.txt

Undo Commit

# تغییر پیام commit آخر
git commit --amend -m "پیام جدید"

# برگشت به commit قبلی (hard)
git reset --hard HEAD~1

# برگشت soft (تغییرات باقی می‌مانند)
git reset --soft HEAD~1

تگ‌ها

ایجاد تگ

# تگ سبک
git tag v1.0.0

# تگ با پیام
git tag -a v1.0.0 -m "نسخه ۱.۰.۰"

# Push تگ‌ها
git push origin --tags

نکات مهم

  • ✅ مرتب commit کنید
  • ✅ پیام‌های commit واضح بنویسید
  • ✅ از branch ها برای ویژگی‌های جدید استفاده کنید
  • ✅ قبل از push، تغییرات را pull کنید
  • ✅ از commit های بزرگ خودداری کنید

مراحل بعدی