تاحالا براتون پیش اومده یه کامیتی بزنید رو پروژتون و بعد کامیت نیاز به یه تغیر خیلی کوچیک تو پروژه باشه؟
اینجور مواقع شما دیگه نمیخواید یه کامیت جدید بزنید و دلتون میخواد که همین تغییر کوچیک رو روی کامیت قبلیتون بزنید
خب اگه همچین چیزی براتون پیش اومد میتونید با کامند
اگه هم خواستید پیام کامیت قبلی رو ادیت کنید باز میتونید از فلگ m استفاده کنید به این صورت
https://smartlogic.io/blog/git-commit-amend/
#trick
#git
@CleverDevs
@CleverDevsGp
اینجور مواقع شما دیگه نمیخواید یه کامیت جدید بزنید و دلتون میخواد که همین تغییر کوچیک رو روی کامیت قبلیتون بزنید
خب اگه همچین چیزی براتون پیش اومد میتونید با کامند
git commit –amend
هر تغیری که دادید رو روی کامیت قبلیتون ثبت کنیداگه هم خواستید پیام کامیت قبلی رو ادیت کنید باز میتونید از فلگ m استفاده کنید به این صورت
git commit --amend -m “this fixes the previous oopsies”
اطلاعات بیشتر : https://smartlogic.io/blog/git-commit-amend/
#trick
#git
@CleverDevs
@CleverDevsGp
👌7👍4👎3🔥3
میدونستین گیت یه ماشین زمان داره که میتونی به گذشته بری؟
با تیکه کد بالا میتونی پروژت رو به 10 دقیقه قبل برگردونی و انگار که این 10 دقیقه اخر اصلا اتفاق نیوفتاده
#git
@CleverDevs
@CleverDevsGp
با تیکه کد بالا میتونی پروژت رو به 10 دقیقه قبل برگردونی و انگار که این 10 دقیقه اخر اصلا اتفاق نیوفتاده
#git
@CleverDevs
@CleverDevsGp
⚡14👍2🔥1
👍15🔥2👌2🆒1
شاید برات پیش اومده باشه که تو پروژه گند زده باشی و بخوای برگردی عقب شاید برا چیزای کوچیک CRTL + Z جواب باشه ولی در سطح بزرگتر نیاز به یه ورژن کنترل داری
اکثرمون از همون ورژن کنترل معروف یعنی گیت استفاده میکنیم
تو سایت زیر میتونی یه سری از دستورات گیت رو ببینی
https://ohshitgit.com/fa
#git
@CleverDevs
@CleverDevsGp
اکثرمون از همون ورژن کنترل معروف یعنی گیت استفاده میکنیم
تو سایت زیر میتونی یه سری از دستورات گیت رو ببینی
https://ohshitgit.com/fa
#git
@CleverDevs
@CleverDevsGp
وقتی میخواید کامیت بزنید همیشه یه مسیج یکی دو جمله ای همراهش میزنید
اما اگه میخواید یه سری توضیحات بیشتر هم برای کامیتتون و چیز هایی که اضافه کردین بنویسید میتونید برای بار دوم از فلگ m استفاده کنید
تو گیت هاب هم وقتی یه فایل رو عوض میکنی و کامیت میزنی میتونی دوتا مسیج بزاری
#git
@CleverDevs
@CleverDevsGp
اما اگه میخواید یه سری توضیحات بیشتر هم برای کامیتتون و چیز هایی که اضافه کردین بنویسید میتونید برای بار دوم از فلگ m استفاده کنید
تو گیت هاب هم وقتی یه فایل رو عوض میکنی و کامیت میزنی میتونی دوتا مسیج بزاری
#git
@CleverDevs
@CleverDevsGp
🔥17👍8⚡4👌3
توی گیت میتونید اینطوری alias تعریف کنید تا سریع تر کار کنید
مثلا اینجا من pom رو به عنوان alias برای push origing master ست کردم
از این به بعد هروقت بزنم
دقیقا کار کامند زیر رو میکنه
#git
@CleverDevs - @CleverDevsGp
مثلا اینجا من pom رو به عنوان alias برای push origing master ست کردم
از این به بعد هروقت بزنم
git pom
دقیقا کار کامند زیر رو میکنه
git push origin master
#git
@CleverDevs - @CleverDevsGp
🔥29👍7💯5👌4❤1👎1
توی گیت یه فایل معروف .gitignore داریم که میتونیم توش فایل ها یا پوشه های رو مشخص کنیم تا گیت اونارو در نظر نگیره
اکثرا ما میایم تو همون روت پروژمون یه فایل gitignore. میسازیم
اما گاها میخوایم یسری پوشه ها مثل idea. که برای ادیتور های جت برینزه یا فایل های swp ویم همیشه ایگنور بشن
برای اینکار میتونیم یه فایل gitignore گلوبال ست کنیم
برای ست کردن global gitignore اول یه فایل میسازیم
بعد با دستور زیر به گیت معرفیش میگنیم
یا میتونید جای کامند بالا بیایید دستی به gitconfig./~ اضافش کنید
#git
@CleverDevs - @CleverDevsGp
اکثرا ما میایم تو همون روت پروژمون یه فایل gitignore. میسازیم
اما گاها میخوایم یسری پوشه ها مثل idea. که برای ادیتور های جت برینزه یا فایل های swp ویم همیشه ایگنور بشن
برای اینکار میتونیم یه فایل gitignore گلوبال ست کنیم
برای ست کردن global gitignore اول یه فایل میسازیم
touch ~/.gitignore
بعد با دستور زیر به گیت معرفیش میگنیم
git config --global core.excludesFile ~/.gitignore
یا میتونید جای کامند بالا بیایید دستی به gitconfig./~ اضافش کنید
[core]
excludesFile = ~/.gitignore
#git
@CleverDevs - @CleverDevsGp
👍33🔥7⚡3❤2
برای پروژه های بزرگ که فایل های خیلی زیاد و حجیمی دارند (مثل بازی ها و مدل های هوش مصنوعی)، از افزونه ای به نام Git LFS استفاده میشه که تنظیم میکنید چه فایل هایی رو نگه داره و داخل ریپازیتوری آپلود نکنه و بجاش بیاد یک فایل پوینتر (اشاره گر) بسازه و داخلش آدرس همشونو سیو کنه. عموما سرویسی مثل GitLab برای اینکار استفاده میشه و میان یکبار همه فایل هارو آپلود میکنن که برای هر کامیت تایم زیادی گرفته نشه و سرعت آپلود/دانلود هم کند نشه.
#Git
@CleverDevs - @CleverDevsGp
#Git
@CleverDevs - @CleverDevsGp
👍32❤🔥4❤2⚡1🆒1
19 سال پیش چنین روزی لینوس توروالدز که بیشتر به عنوان خالق لینوکس میشناسیمش ابزاری به شدت کاربردی به اسم git ارائه کرد که امروزه اکثرا برنامه نویسا وابسته ان بهش
گیت یه ورژن کنترل هستش که کمک میکنه خیلی از به فنا رفتن ها توی پروژه رو به قبل برگردونیم و به کمک سرویس هایی مثل گیت هاب و ... کار تیمی رو راحت تر میکنه
خواستم امروز به مناسبت همین تولد گیت بگم که اگه تا حالا گیت رو یاد نگرفتید حتما یادش بگیرید وقت زیادی هم ازتون نمیبره و بیسش رو یاد بگیرید توی پروژه ها کار کردن باهاش دستتون میاد
برای یادگرفتنش هم بنظرم یه کرش کورس توی یوتوب ببینید کافیه یا اگه خواستید به زبان فارسی باشه وبسایت webprog.io هم یه دوره رایگان براش داره همچنین میتونید با سرچ کردن #git پست های مربوط به گیت رو توی کانال ببینید
#git
@CleverDevs - @CleverDevsGp
گیت یه ورژن کنترل هستش که کمک میکنه خیلی از به فنا رفتن ها توی پروژه رو به قبل برگردونیم و به کمک سرویس هایی مثل گیت هاب و ... کار تیمی رو راحت تر میکنه
خواستم امروز به مناسبت همین تولد گیت بگم که اگه تا حالا گیت رو یاد نگرفتید حتما یادش بگیرید وقت زیادی هم ازتون نمیبره و بیسش رو یاد بگیرید توی پروژه ها کار کردن باهاش دستتون میاد
برای یادگرفتنش هم بنظرم یه کرش کورس توی یوتوب ببینید کافیه یا اگه خواستید به زبان فارسی باشه وبسایت webprog.io هم یه دوره رایگان براش داره همچنین میتونید با سرچ کردن #git پست های مربوط به گیت رو توی کانال ببینید
#git
@CleverDevs - @CleverDevsGp
🔥47👍11❤🔥6❤2
قابلیت tag توی گیت یکی از قابلیت های خفن گیته که برای ورژن بندی کمک زیادی میکنه در واقع تگ ها توی گیت برای نشانه گذاری زمان خاصی از تاریخچه پروژه هست
مثلا ما یه سری فیچر برای پروژمون زدیم و میخوایم که به عنوان ورژن 1 علامت گذاری کنیم میایم و از tag ها استفاده میکنم و اون کامیت اخر رو با تگ v1 نشانه گذاری میکنیم و بعد تر که فیچر های دیگه ای اومد و ورژن 2 آماده بود میتونیم به اخرین کامیت اون لحظه هم تگ v2 رو اختصاص بدیم
اما ما دو نوع تگ توی گیت داریم
نوع اول Annotated tags هست که اطلاعات بیشتری درباره اون تگ مثل اسم و ایمیل کسی که تگ رو ایجاد کرده ، تاریخ ایجاد تگ و یک پیام برای تگ و یک هش مخصوص برای اون کامیتی که تگ شده ست میکنن
برای ایجاد این نوع تگ ها باید کامند زیر رو بزنید که
که سوئیچ a به Annotated اشاره میکنه و سوئیچ m هم پیام مربوط به تگه (میتونید توی کامندتون پیام رو ست نکنید در این صورت گیت ادیتور رو براتون باز میکنه تا بنویسید)
نوع دوم lightweight tags هست که هیچ اطلاعات اضافه ای درباره تگ نمیده و فقط به اون کامیتی که تگ روش زده شده اشاره میکنه که بیشتر برای نشانه گذاری های موقت بدرد بخوره برای ایجاد این تگ ها هم باید کامند زیر رو بزنید
تگ های lightweight دیگه سوئیچ های m و a رو نمیگیرن
اگه خواستید بیشتر دربارش بدونید پیشنهاد میکنم به لینک زیر یه نگاه بندازید
https://www.freecodecamp.org/news/git-tag-explained-how-to-add-remove/
#git
@CleverDevs - @CleverDevsGp
مثلا ما یه سری فیچر برای پروژمون زدیم و میخوایم که به عنوان ورژن 1 علامت گذاری کنیم میایم و از tag ها استفاده میکنم و اون کامیت اخر رو با تگ v1 نشانه گذاری میکنیم و بعد تر که فیچر های دیگه ای اومد و ورژن 2 آماده بود میتونیم به اخرین کامیت اون لحظه هم تگ v2 رو اختصاص بدیم
اما ما دو نوع تگ توی گیت داریم
نوع اول Annotated tags هست که اطلاعات بیشتری درباره اون تگ مثل اسم و ایمیل کسی که تگ رو ایجاد کرده ، تاریخ ایجاد تگ و یک پیام برای تگ و یک هش مخصوص برای اون کامیتی که تگ شده ست میکنن
برای ایجاد این نوع تگ ها باید کامند زیر رو بزنید که
git tag -a v1.0.0 -m "version 1.0.0"
که سوئیچ a به Annotated اشاره میکنه و سوئیچ m هم پیام مربوط به تگه (میتونید توی کامندتون پیام رو ست نکنید در این صورت گیت ادیتور رو براتون باز میکنه تا بنویسید)
نوع دوم lightweight tags هست که هیچ اطلاعات اضافه ای درباره تگ نمیده و فقط به اون کامیتی که تگ روش زده شده اشاره میکنه که بیشتر برای نشانه گذاری های موقت بدرد بخوره برای ایجاد این تگ ها هم باید کامند زیر رو بزنید
git tag v1.0.0
تگ های lightweight دیگه سوئیچ های m و a رو نمیگیرن
اگه خواستید بیشتر دربارش بدونید پیشنهاد میکنم به لینک زیر یه نگاه بندازید
https://www.freecodecamp.org/news/git-tag-explained-how-to-add-remove/
#git
@CleverDevs - @CleverDevsGp
👍28🔥6⚡2❤1
همونطور که میدونید عکس بالا سخت ترین کار برای هر دولوپری هستش 😁
خیلی وقتا اون ترکیب بندی کلمات توی ذهن نمیاد، خیلی وقتا طولانی میشه متنش، حتی بعضی وقت ها نمیدونیم این تغییر که دادیم دقیقا چه نوعیه، feat, ref, chore و ...
یکی از بچه های چنل یک برنامه کوچیک و جمع و جور نوشته که بعد از اینکه فایل هاتون رو به stage اضافه کردید، با اجرای این برنامه توی دایرکتوری پروژه تون، از مدل Gemini-1.5-flash استفاده میکنه و بهتون چند تا commit message بر اساس تغییراتتون پیشنهاد میده
پروژه باحالی بود یه سر به گیت هابش بزنید
https://github.com/ali-hv/comsu
همچنین اگه ایده ای براش دارید که میتونه بهترش کنه، میتونید pr بدید
#git #comsu #openSource
@CleverDevs - @CleverDevsGp
خیلی وقتا اون ترکیب بندی کلمات توی ذهن نمیاد، خیلی وقتا طولانی میشه متنش، حتی بعضی وقت ها نمیدونیم این تغییر که دادیم دقیقا چه نوعیه، feat, ref, chore و ...
یکی از بچه های چنل یک برنامه کوچیک و جمع و جور نوشته که بعد از اینکه فایل هاتون رو به stage اضافه کردید، با اجرای این برنامه توی دایرکتوری پروژه تون، از مدل Gemini-1.5-flash استفاده میکنه و بهتون چند تا commit message بر اساس تغییراتتون پیشنهاد میده
پروژه باحالی بود یه سر به گیت هابش بزنید
https://github.com/ali-hv/comsu
همچنین اگه ایده ای براش دارید که میتونه بهترش کنه، میتونید pr بدید
#git #comsu #openSource
@CleverDevs - @CleverDevsGp
🔥60👍17💯4
با سایت gitignore.io میتونید اسم ابزار ها و کتابخونه ها و .. ای که توی یک پروژه استفاده کردید رو بدید و این سایت براتون یه gitignore کامل جنریت کنه که چیزی از قلم نیوفته و از دستتون در نره
#tools #git
@CleverDevs - @CleverDevsGp
#tools #git
@CleverDevs - @CleverDevsGp
2👍45🔥13
progit.pdf
18 MB
عنوان کتاب: Pro Git
نویسندگان : Scott Chacon, Ben Straub
زبان: انگلیسی
تعداد صحفه : 501
معرفی:
کتاب Pro Git یه منبع غنی برای یادگیری درست گیت هست . گیت که معروفترین سیستم کنترل ورژن بین برنامه نویس ها هست امکانات زیادی برای مدیریت پروژه و ورژن بندی همچنین کار تیمی و ... فراهم میکنه اما در مواردی توی پروژه های بزرگتر ممکنه استفاده از گیت براتون سخت باشه با خوندن این کتاب میتونید انواع تریک ها و دستورات گیت مسلط بشید و تو پروژه های پیچیده تر هم ازش استفاده کنید
#book #git
@CleverDevs - @CleverDevsGp
نویسندگان : Scott Chacon, Ben Straub
زبان: انگلیسی
تعداد صحفه : 501
معرفی:
کتاب Pro Git یه منبع غنی برای یادگیری درست گیت هست . گیت که معروفترین سیستم کنترل ورژن بین برنامه نویس ها هست امکانات زیادی برای مدیریت پروژه و ورژن بندی همچنین کار تیمی و ... فراهم میکنه اما در مواردی توی پروژه های بزرگتر ممکنه استفاده از گیت براتون سخت باشه با خوندن این کتاب میتونید انواع تریک ها و دستورات گیت مسلط بشید و تو پروژه های پیچیده تر هم ازش استفاده کنید
#book #git
@CleverDevs - @CleverDevsGp
5👍24🔥5👌2❤1👎1
احتمالا اسم neofetch و fastfetch و ... رو شنیدید که میان اطلاعات سیستم رو توی ترمینال نشون میدن
یه onefetch هم داریم که اطلاعات ریپازیتوری گیت رو به این صورت نشون میده چیز باحالیه خواستید تستش کنید
برای نصب و استفاده یه سر به ویکی گیت هابش بزنید
https://github.com/o2sh/onefetch/wiki/installation
#git #tools
@CleverDevs - @CleverDevsGp
یه onefetch هم داریم که اطلاعات ریپازیتوری گیت رو به این صورت نشون میده چیز باحالیه خواستید تستش کنید
برای نصب و استفاده یه سر به ویکی گیت هابش بزنید
https://github.com/o2sh/onefetch/wiki/installation
#git #tools
@CleverDevs - @CleverDevsGp
🔥25👍13❤4
پروژه gitc که یکی از بچه های چنل توسعه داده یک ابزار cli که براساس تغییرات کدی ک دادید چیکیدش رو به ai با پرامپ خاص، سبک و کانفیگ های مختلف ارسال میکنه و ی گیت کامیت مسیج کامل و خلاصه تحویل میده
فعلا فقط openai ساپورت میکنه
در اینده شاید دیپ سیک و گراک هم اضافه بشه
https://github.com/rezatg/gitc
#git
@CleverDevs - @CleverDevsGp
فعلا فقط openai ساپورت میکنه
در اینده شاید دیپ سیک و گراک هم اضافه بشه
اگه براتون جالبه، خوشحال میشم یه نگاهی بهش بندازید، استار بدید، یا اگه ایدهای برای بهبودش دارید یا دوست دارید مشارکت (contribute) کنید، در خدمتم.
https://github.com/rezatg/gitc
#git
@CleverDevs - @CleverDevsGp
❤32🔥13👍9🤣3