گیت محبوب ترین و پرکاربرترین سیستم کنترل ورژن هست،غیر ممکنه که برنامه نویس باشید و ازش استفاده نکرده باشید.همه ما در طول روز بخشی از ساعت کاریمون رو با گیت سپری میکنیم.کامیت میزنیم،کدها رو پوش میکنیم و .... اما ممکنه شما بعد از یک مدت کار روی پروژه بخاید ایمیلتون یا اسمتون که روی کامیت های قبلی زدید رو تغییر بدید.برای مثال ممکنه مثل من ایمیلتون رو عوض کنید و بخاید کامیت های قبلی رو به سوابق ایمیل جدیدتون ببرید،اگه این شما هم این چالش رو دارید با من همراه باشید ?
مرحله اول: وارد روت پروژه بشید و یک فایل به اسم update-commit.sh ایجاد کنید (اسم فایل مهم نیست و فقط باید با پسوند .sh باشه)
توی مرحله بعدی این قطعه کد رو توی فایل قرار بدید:(انتهای مقاله قرارش میدم)
همه چی داخل تصویر مشخصه و نیاز به توضیح نیست.اطلاعات خودتون رو توی قسمت های مشخص شده جایگزین کنید و فایل رو ذخیره کنید.
توی مرحله بعد یه ترمینال باز کنید توی روت پروژه و با این دستور این اسکریپت رو اجرا کنید.
./update-commit.sh
بعد از اجرای دستور یک ترمینال جدید براتون باز میشه و باید منتظر بمونید تا کارش تموم بشه.
و در نهایت برای اینکه این تغییرات رو روی ریپازیتوری(گیت هاب،گیت لب و ...) ببینید کافیه با دستور زیر فورس پوش کنید.
git push origin main -f
تمام شد.الان میتونید به پروفایل خودتون برید و سوابق کامیت هاتون رو ببینید?
امیدوارم که براتون کاربردی بوده باشه.اگه سوالی بود توی کامنت ها منتظرتونم.
قطعه کد داخل عکس:
#!/bin/sh git filter-branch --env-filter ' WRONG_EMAIL="ایمیل قبلی" NEW_NAME="اسم جدید" NEW_EMAIL="ایمیل جدید" if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ] then export GIT_COMMITTER_NAME="$NEW_NAME"a export GIT_COMMITTER_EMAIL="$NEW_EMAIL" fi if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ] then export GIT_AUTHOR_NAME="$NEW_NAME" export GIT_AUTHOR_EMAIL="$NEW_EMAIL" fi ' --tag-name-filter cat -- --branches --tags