🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ علی
pull request در github
احمدرضا فاطمی کیا حل شده توسط احمدرضا فاطمی کیا

سلام 

الف) ایجاد pull request در github تو کارهای تیمی مطرح میشه ؟؟ به فرض من میخوام شاخه x رو در شاخه develop مرج کنم. حالا اگر اجازه اینکار رو نداشته باشم باید در github یک pull request ایجاد کنم اما در پروژه‌های شخصی نیازی به ایجاد pull request نیست و خودمون میتونیم تو لوکال x رو در develop مرج کنیم و بعد develop رو push کنیم. درسته؟ 

ب) چطور میشه author تمام commitهای گذشته رو تغییر داد؟

سلام علی عزیز

الف) بله، در تیم‌هایی که از گیت‌هاب استفاده میکنن، برای ادغام تغییرات از یک شاخه به شاخه دیگه، معمولاً از pull request استفاده میشه تا تغییرات موردنظر بازبینی شده و تصویب بشن. اما در پروژه‌های شخصی، این اجبار وجود نداره و می‌تونید به صورت مستقیم تغییرات خودتون رو در شاخه‌های موردنظر اعمال کرده و اونها رو push کنید.

ب) برای تغییر نویسنده (author) تمام commitهای گذشته، باید از دستورات git filter-branch یا git rebase -i استفاده کنید. این دستورات به شما این امکان رو میدن که تاریخچه commitها رو بازبینی و تغییر بدید. اما توجه داشته باشید که تغییر نویسنده commitها ممکن هست تاریخچه رو به هم بزنه و در صورت استفاده نادرست، اطلاعات از دست بره.

git filter-branch --env-filter '
if [ "$GIT_COMMITTER_NAME" = "OldAuthorName" ]; then
   export GIT_COMMITTER_NAME="NewAuthorName"
   export GIT_COMMITTER_EMAIL="newemail@example.com"
fi
if [ "$GIT_AUTHOR_NAME" = "OldAuthorName" ]; then
   export GIT_AUTHOR_NAME="NewAuthorName"
   export GIT_AUTHOR_EMAIL="newemail@example.com"
fi
' -- --all

در این دستور، "OldAuthorName" رو با نام نویسنده قبلی و "NewAuthorName" با نام نویسنده جدید جایگزین بکنید و "newemail@example.com" رو با ایمیل جدید نویسنده جایگزین کنید.

بهترین پاسخ
احمدرضا فاطمی کیا ۱۵ آبان ۱۴۰۲، ۱۷:۴۱