Git

delete branch#

🎉 برای حذف یک branch باید به صورت زیر عمل کنیم:

# delete branch from repo
git push [remote name] --delete [branch name]
# delete branch locally
git branch -d [branch name]

reset#

🎉 هرگاه بخواهیم به یک کامیت خاص برگردیم و کامیت های بعد از آن برایمان مهم نباشد، میتوانیم از کد زیر استفاده کنیم تا مستقیما به آنجا برویم و HEAD را به آن commit تغییر دهیم:

# reset HEAD to the desired commit
git reset --hard [commit SHA id]

change branch name#

🎉 برای تغییر نام branch می توان از کد زیر استفاده کرد:

git branch -m [old] [new]

stash#

🎉 برای ذخیره کردن تغییرات در سیستم برای بردن آن تغییرات ب یک برنچ دیگر یا pull گرفتن، می توان از دستور زیر استفاده کنیم

git stash

همچنین برای حذف یا نمایش اطلاعات ذخیره شده میتوان از دستورات زیر استفاده کرد:

git stash pop # برگرداندن محتوای استش
git stash list # نمایش لیست
git stash drop [stash hash code like: stash@{1}] # پاک کردن یک مورد خاص
git stash clear # پاک کردن همه
git stash show [stash hash code like: stash@{1}] # نمایش یک مورد خاص و مقایسه آن با فایل مورد نظر فعلی

merge#

🎉 برای ادغام دو branch می توانیم وارد برنچ مورد نظر شویم و از دستور زیر استفاده کنیم تا برنچی ک می خواهیم را با برنچی ک در آن هستیم، ادغام کنیم:

git merge [intended branch]

conflict#

هر گاه ب conflict خوردیم، می توانیم بر اساس نحوه چیدمان فلش ها، کد های خودمان یا شخص مقابل یا هر 2 را merge کنیم:

<<<<<<< head branch khodet
code haye khodet
=======
code haye dakhele repo
>>>>>>> branch va remote k tu github hastesh

change commit message#

برای اینکه تغییراتی را بر روی یک یا چند کامیت همزان اعمال کنیم، می توانیم توسط دستور زیر ابتدا لیست آن ها و message آن ها را ببینیم و هر کدام را ک لازم داشتیم، تغییر دهیم:

git rebase -i HEAD~3

در واقع 3 یعنی 3 کامیت آخر، ک می توان هر عددی قرار داد.

سپس در vscode باز شده باید هر کامیتی ک می خواهیم فقط message آن را تغییر دهیم، بجای کلمه pick از کلمه reword استفاده می کنیم:

pick e499d89 Delete CNAME
reword 0c39034 Better README
reword f7fde4a Change the commit message but push the same commit.

🎉 ترتیب کامیت ها از بالا ب پایین است، یعنی کامیت بالایی در واقع هنگام گرفتن git log --online، در پایین آن 2 ی دیگر است یعنی در لاگ از ترتیب از پایین ب بالا می باشد.

حال بعد از سیو و بستن vscode، دوباره از ما سوال میکند و باید متن پایین ها را تک ب تک قرار دهیم و هر بار سیو کنیم و vscode را ببندیم و بعدی دوباره باز می شود.