گیت یک سیستم کنترل نسخه توزیعشده است که تغییرات در کد منبع را در طول زمان ردیابی میکند.
# تنظیم نام کاربری
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 اولیه"
# از گیتییار
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 با پیام
git commit -m "پیام توصیفی"
# Commit همه فایلهای تغییر یافته
git commit -a -m "بهروزرسانی فایلها"
# Push به main branch
git push origin main
# Push branch جدید
git push -u origin feature-branch
# دریافت و merge تغییرات
git pull origin main
# ایجاد branch جدید
git checkout -b feature/new-feature
# تغییر branch
git checkout main
# لیست branch ها
git branch
# حذف branch محلی
git branch -d feature-branch
# حذف branch remote
git push origin --delete feature-branch
# تغییر به branch target
git checkout main
# Merge branch دیگر
git merge feature-branch
# Rebase branch شما روی main
git checkout feature-branch
git rebase main
وقتی conflict اتفاق میافتد:
# فایلهای conflicted را ببینید
git status
# فایلها را ویرایش و conflict ها را حل کنید
# سپس:
git add .
git commit -m "حل conflict ها"
# Discard تغییرات در فایل
git checkout -- filename.txt
# Unstage فایل
git reset HEAD filename.txt
# تغییر پیام 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