سلام و عرض ادب
هدف از تهیه این مقاله این است که دستورات گیت اگر فراموش شد سریع رجوع شود و به نتیجه برسیم . پس به خاطر همین خیلی خلاصه وار توضیح هر دستور را در جلوش نوشتم
git init
ساخت ریپوزیتوری و شروع بازی با گیت
git status
وضعیت فایل ها که در چه مرحله ای می باشد را نشان می دهد
git add myfilename.txt
بردن فایل به استیج
git add .
بردن تمام فایل به استیج
git rm --cached <file>
بیرون آوردن فایل از استیج
git commit -m " descrip "
کامیت کردن
git commit -am " descrip "
بردن به استیج و کامیت کردن به صورت همزمان
git log
نشان دادن تاریخچه کامیت ها
git log --oneline
نشان دادن تاریخچه کامیت ها در یک خط
git log --all
نشان دادن تاریخچه تمامی کامیت ها برنچ
git branch
نمایش تمام برنچ های
git branch mybranch
ساخت برنچ
git switch mybranch
رفتن به برنچ مورد نظر
git switch -c branch2
ساختن و رفتن به برنچ به صورت همزمان
git branch -m branch100
تغییر نام برنچ
git branch -d other
حذف برنچ به شرطی که مرج شده باشد
git branch -D other
حذف برنچ بدون هیچ شرطی
git merge branch100
مرج کردن با برنچ جاری
git diff
مقایسه کارهای جاری (ورکین دایرکتوری) با استیج
git checkout f6b5e33
بازگشت به یک کامیت خاص (معمولا برای برنچ زدن استفاده میشود)
git checkout HEAD~1
بازگشت به کامیت قبل به تعداد شماره که وارد می کنیم
git checkout HEAD dsds.txt
بازگشت تغیراتی که تا قبل از آخرین کامیت انجام دادیم در واقع پاک کردن ورکین دایرکتور
git checkout -B mybranch f6b5e33
برگشت به کامیت مورد نظر و ساختن یک برنچ در بعد از همان کامیت
git restore dsds.txt
دقیقا معادل دستور بالاست با این تفاوت اگر فایل رفته باشه تو استیچ فقط فایل را از استچ در میاره تغیرات را برنمی گردونه
git restore --source 2a1a919 dsds.txt
تمام تغیرات را برمیگردونه به کامیت مورد نظر فرقش با چک اوت اینه که با هد کاری نداره و کامیت ها سر جاشون می مونه
git reset 1582baf
پاک کردن کامیت ها تا کامیت مورد نظر ولی تغیراتی که انجام دادیم سر جاش میمونه عبارتی ورکین دایرکتوری سر جاش میمونه
git reset --hard 1582baf
معادل دستور بالا با این تفاوت که تغیرات را پاک میکنه به عبارتی ورکین دایرکتوری پاک میشه
git revert 435f62b
شبیه دستورت ریست با این تفاورت که تغیرات جاری(ورکین دایرکتوری ) با کامیت مورد
نظر ادغام میکنه و یک کامیت جدید تولید میکنه
git stash
ذخیره کار های جاری که فعلا نمی خواهیم کامیت کنیم
git stash pop
بر گرداندن کارهای جاری و پاک کردن استش
git stash apply
بر گرداندن کارهای جاری و پاک نکردن استش
git stash list
لیست استش نشان می دهد
git stash apply stash@{0}
برگرداندن کارهای جاری به استش مورد نظر
git stash drop stash@{0}
پاک کردن استش
git stash clear
پاک کردن تمام اسش ها
git clone https://github.com/hamidjalalat/testgit.git
گرفتن کدهای پروژه از سرور و ذخیره در در مسیر جاری سیستم
git remote
نمایش پروژهای که وصل به سرور
git push
ذخیره تغیرات در سرور
git push remotename branchname
ذخیره تغیرات در سرور و برنچ خاص
git fetch
تغیرات سرور را به لوکال ریپوزیتوری میاره نه داخل پروژه به عبارتی ورکین دایرکتوری بدون تغییر میمونه
git pull
تمام تغیرات را از سرور گرفته و در پروژه ما ادغام میکند
function gb {git add .; git commit -am $args;git push }
نوشتن فاکشن در پاور شل
git config --global core.editor "code --wait"
تعیین ویراشگر پیش فرض برای گیت در اینجا vscode
git config --global --edit
باز کردن فایل تنظیمات گیت