چگونه یک commit با معنا در git بنویسیم؟ 💀
نوشتن کامیت خوب یک هنره و این زمانی بیشتر خودشو نشون میده که در یک تیم مشغول به کار باشید.
قدرت گیت در کارهای تیمی خیلی مشخص تره و رعایت کردن یکسری استاندارد بین افراد یک پروژه میتونه روند کار و سریعتر و اشتباهات و کاهش بده. یکی از این استانداردها قطعا تدوین قوانینی برای نوشتن توضیحات برای Commit ها در گیت هست.
هدف از نوشتن commit با معنا چیه؟🤔
🔵 تولید خودکار فایل CHANGELOG.md توسط اسکریپت
🔵 در نظر نگرفتن بعضی از کامیت های بی اهمیت با git bisect (مثل فورمت کردن کدها)
🔵 داشتن اطلاعات بهتر و کاراتر هنگام بازببینی تاریخچه کامیت ها
هر خط از پیغام کامیت نباید بیشتر از 100 کاراکتر باشه. همین باعث میشه که خوندن متن کامیت هم در گیتهاب و هم در سایر ابزار های گیت آسون تر باشه. هر متن کامیت دارای سرآمد (header)، بدنه (body) و بخش زیرین (footer) هست که توسط خط خالی (Blank line) از هم جدا میشن.
متن سرآمد
متن قسمت سرآمد یک خطه که به صورت خلاصه وار توضیحاتی در مورد تغییرات ارائه میده و شامل نوع (type)، محدوده [تغییرات] (scope) و موضوع (subject) هست.
کامیت ها باید با یه سری تایپ های مشخص و تعیین شده شروع بشن تا کامیت حرفه ای تر باشه. یه سری از تایپ های پر کاربرد:
🔵 feat
🔵 fix
🔵 docs
🔵 refactor
🔵 test
🔵 chore
متن بدنه
تو این بخش باید انگیزه دولوپر برای تغییر قسمتی از کد که قراره به گیت اضافه بشه گفته، و تفاوت و به صورت خلاصه شرح بده.
متن بخش زیرین
در این بخش برخی اطلاعات خاص در مورد commit ارائه میشه مثل BREAKING CHANGE.
این مورد در فوتر به عنوان یک توضیحات آورده میشه. همونطور که از اسمش هم مشخصه اگه یک تغییر اساسی در پروژه و فایلی داشتیم این مورد باید حتما اضافه بشه.
اطلاعات بیشتر و میتونید تو این مقاله مطالعه، و یک پله خودتون و نسبت به سایر دولوپر ها حرفه ای تر کنید⚡️
#commit #git
@CodeModule
نوشتن کامیت خوب یک هنره و این زمانی بیشتر خودشو نشون میده که در یک تیم مشغول به کار باشید.
قدرت گیت در کارهای تیمی خیلی مشخص تره و رعایت کردن یکسری استاندارد بین افراد یک پروژه میتونه روند کار و سریعتر و اشتباهات و کاهش بده. یکی از این استانداردها قطعا تدوین قوانینی برای نوشتن توضیحات برای Commit ها در گیت هست.
هدف از نوشتن commit با معنا چیه؟
هر خط از پیغام کامیت نباید بیشتر از 100 کاراکتر باشه. همین باعث میشه که خوندن متن کامیت هم در گیتهاب و هم در سایر ابزار های گیت آسون تر باشه. هر متن کامیت دارای سرآمد (header)، بدنه (body) و بخش زیرین (footer) هست که توسط خط خالی (Blank line) از هم جدا میشن.
متن سرآمد
متن قسمت سرآمد یک خطه که به صورت خلاصه وار توضیحاتی در مورد تغییرات ارائه میده و شامل نوع (type)، محدوده [تغییرات] (scope) و موضوع (subject) هست.
کامیت ها باید با یه سری تایپ های مشخص و تعیین شده شروع بشن تا کامیت حرفه ای تر باشه. یه سری از تایپ های پر کاربرد:
متن بدنه
تو این بخش باید انگیزه دولوپر برای تغییر قسمتی از کد که قراره به گیت اضافه بشه گفته، و تفاوت و به صورت خلاصه شرح بده.
متن بخش زیرین
در این بخش برخی اطلاعات خاص در مورد commit ارائه میشه مثل BREAKING CHANGE.
این مورد در فوتر به عنوان یک توضیحات آورده میشه. همونطور که از اسمش هم مشخصه اگه یک تغییر اساسی در پروژه و فایلی داشتیم این مورد باید حتما اضافه بشه.
اطلاعات بیشتر و میتونید تو این مقاله مطالعه، و یک پله خودتون و نسبت به سایر دولوپر ها حرفه ای تر کنید
#commit #git
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5⚡4👌1
در این پست یک اکستنشن بهتون معرفی میکنم که با استفاده از اون، میتونید تغییراتی که تا الان روی پروژه و مخزن گیت اعمال کردید، مشاهده کنید.
به طور کلی، اکستنشن Git History به شما این امکان و میده تا تاریخچه branch ها، فایلها و لاین هاتونو به صورت گرافیکی جستجو و پیگیری کنید
برای نصب این اکستنشن کاربردی، عبارت Git History رو در بخش extensions برنامه Vscode، سرچ کنید
#extension #git #vscode
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡7🔥3
چند تا کامند کاربردی و کمتر شناخته شده از گیت 🦦
میدونستی به جز push و pull گیت کامند های دیگه ای هم داره؟ در این پست من چند کامند کمتر شناخته شده و کاربردی رو بهتون معرفی میکنم.
💎 git stash
زمانی که شما در برنچ A هستید و یهویی مجبورید به برنچ B سوییچ کنید و نمیخواید این تغییرات نیمهکاره رو کامیت کنید، git stash به دادتون میرسه. تغییراتتون رو جمع میکنه و میتونید بدون کامیت کردن به یک برنچ دیگه برید.
💎 conditional config
اینجوری بگم که با این قابلیت میتونید تعیین کنید یه تنظیم خاص تو گیت فقط تحت شرایط خاصی اعمال بشه. مثلا اگه در یک پروژه خاص بودید، یا برای یه ایمیل خاص، تنظیمات متفاوتی داشته باشی.
💎 git blame
این کامند برای وقتی هست که در تیم، یک قسمت از کد خراب شده و میخواید بدونید کدوم دولوپر کامیت کرده و مقصر کیه. با این کامند به راحتی میتونید بفهمید چه کسی اون فایل رو تغییر داده.
💎 git reflog
این کامند برای زمانی خوبه که یک خرابکاری کردی، مثلا یک کامیت پاک کردی و این کامند بهت نشون میده چه تغییراتی صورت گرفته. این کامند به طور پیشفرض فعال هست و تغییرات محلی رو ثبت میکنه. (مثلا زمانی که ما از کامند git log استفاده میکنیم)
💎 git diff —word —diff
به جای اینکه کل تغییرات رو خطبهخط رو ببینی، این کامند تغییرات رو کلمهبهکلمه نشون میده. برای وقتایی که کد زیاد داری، خیلی کمک میکنه.
💎 git push —force-with-lease
این یه جور فورس پوش هست، ولی با احتیاط! به جای اینکه فورس بزنی و تغییرات دیگران رو overwrite کنی، این تضمین میکنه که اگه کسی دیگه چیزی تو ریپازیتوری تغییر داده، پوش تو انجام نشه.
به صورت خلاصه این کامند ها قطعا یه روز به کارتون میاد و به نوبه خودشون کاربردی هستن. دقت کنید تعداد کامند های گیت حدودا بیشتر از ۱۵۰ تا هست و اگه علاقه مند به کشف باقی موارد هستید، میتونید از YouTube اقای Scott Chacon اطلاعات خوبی به دست بیارید. ایشون نویسنده کتاب معروف Git Pro، و یکی از بنیانگذاران گیت هاب هستن.
#git
@CodeModule
میدونستی به جز push و pull گیت کامند های دیگه ای هم داره؟ در این پست من چند کامند کمتر شناخته شده و کاربردی رو بهتون معرفی میکنم.
💎 git stash
زمانی که شما در برنچ A هستید و یهویی مجبورید به برنچ B سوییچ کنید و نمیخواید این تغییرات نیمهکاره رو کامیت کنید، git stash به دادتون میرسه. تغییراتتون رو جمع میکنه و میتونید بدون کامیت کردن به یک برنچ دیگه برید.
💎 conditional config
اینجوری بگم که با این قابلیت میتونید تعیین کنید یه تنظیم خاص تو گیت فقط تحت شرایط خاصی اعمال بشه. مثلا اگه در یک پروژه خاص بودید، یا برای یه ایمیل خاص، تنظیمات متفاوتی داشته باشی.
💎 git blame
این کامند برای وقتی هست که در تیم، یک قسمت از کد خراب شده و میخواید بدونید کدوم دولوپر کامیت کرده و مقصر کیه. با این کامند به راحتی میتونید بفهمید چه کسی اون فایل رو تغییر داده.
💎 git reflog
این کامند برای زمانی خوبه که یک خرابکاری کردی، مثلا یک کامیت پاک کردی و این کامند بهت نشون میده چه تغییراتی صورت گرفته. این کامند به طور پیشفرض فعال هست و تغییرات محلی رو ثبت میکنه. (مثلا زمانی که ما از کامند git log استفاده میکنیم)
💎 git diff —word —diff
به جای اینکه کل تغییرات رو خطبهخط رو ببینی، این کامند تغییرات رو کلمهبهکلمه نشون میده. برای وقتایی که کد زیاد داری، خیلی کمک میکنه.
💎 git push —force-with-lease
این یه جور فورس پوش هست، ولی با احتیاط! به جای اینکه فورس بزنی و تغییرات دیگران رو overwrite کنی، این تضمین میکنه که اگه کسی دیگه چیزی تو ریپازیتوری تغییر داده، پوش تو انجام نشه.
به صورت خلاصه این کامند ها قطعا یه روز به کارتون میاد و به نوبه خودشون کاربردی هستن. دقت کنید تعداد کامند های گیت حدودا بیشتر از ۱۵۰ تا هست و اگه علاقه مند به کشف باقی موارد هستید، میتونید از YouTube اقای Scott Chacon اطلاعات خوبی به دست بیارید. ایشون نویسنده کتاب معروف Git Pro، و یکی از بنیانگذاران گیت هاب هستن.
#git
@CodeModule
🔥21⚡2