git tag -a 1.6.7 -m "Published 1.6.7 to nuget.org" git push --follow-tags
یک نکتهی تکمیلی: چگونه یک Release خودکار را در GitHub ایجاد کنیم؟
اگر پروژهی خود را به GitHub ارسال کردهاید و پس از آن یک بستهی نیوگت را هم بر اساس این نگارش تهیه و منتشر کردهاید، میتوانید یک release خودکار را به صورت زیر در GitHub ایجاد کنید:
اشتراکها
دوره 7 ساعته Docker
- Update build tools to match .NET 6 Preview 3 SDK. (PR: omnisharp-roslyn#2134)
- Fadeout unused variable names (#1324, PR: #3733)
- Updated debugger (PR: #3729)
- Fixed not supported exception when trying to decompile a BCL assembly on Mono. For now we do not try to resolve implementation assembly from a ref assembly (PR: omnisharp-roslyn/#1767)
- Added support for generic classes in test runner (#3722, PR: omnisharp-roslyn/#1768)
- Improved autocompletion performance (PR: omnisharp-roslyn/#1761)
- Move to Roslyn's .editorconfig support (omnisharp-roslyn/#1657, PR: omnisharp-roslyn/#1771)
- Fully update CompilationOptions when project files change (PR: omnisharp-roslyn/#1774)
با سلام خدمت کلیه دوستان و همکاران گرامی
از اینکه نمیتونم جواب نظرات رو بدم عذرخواهی میکنم. (به دلیل خدمت سربازی :دی)
بنا به پیشنهاد جناب نصیری و دیگر دوستان یک مخزن کد Github برای این تصویر امنیتی درست کردم. اصلاح باگهای برطرف شده اون هم تا اینجا طبق نظرات همین مطلب اعمال شدن. هر کی میخواد تو این پروژه مشارکت داشته باشه PR بفرسته .
از اینکه نمیتونم جواب نظرات رو بدم عذرخواهی میکنم. (به دلیل خدمت سربازی :دی)
بنا به پیشنهاد جناب نصیری و دیگر دوستان یک مخزن کد Github برای این تصویر امنیتی درست کردم. اصلاح باگهای برطرف شده اون هم تا اینجا طبق نظرات همین مطلب اعمال شدن. هر کی میخواد تو این پروژه مشارکت داشته باشه PR بفرسته .
اشتراکها
مزایای کار با Postman
در این مقاله با دو سیستم
کنترل نسخه git و SVN آشنا شده و تفاوتهای آنها را برای تازهکاران بررسی میکنیم. ایده
اولیه نوشتن این مقاله زمانی بود که برای یک پروژهای، اعضای تیم ما دور هم
جمع شده و در مورد ابزارهای مورد استفاده بحث کردند و یک عده از گیت و
عدهای از SVN صحبت میکردند. بر این شدم که مقالهای نوشته و ابتدا به
معرفی آنها و سپس به مزایا و معایب هر کدام بپردازیم.
امروزه، استفاده از سیستمهای کنترل نسخه ( Version Control System
) رواج زیادی پیدا کرده است. این سیستمها به شما اجازه میدهند تا
تغییراتی را که در پروژه ایجاد میشوند، ضبط و ثبت کرده تا از تغییراتی که در
سطح پروژه اتفاق میافتد آگاه شوید. با ذکر یک نمونه این تعریف را باز
میکنم:
شما
به صورت تیمی در حال انجام یک پروژه هستید و باید نسبت به تغییراتی که
اعضای تیم در یک پروژه میدهند، آگاه شوید. هر برنامه نویس بعد از انجام
تغییرات باید این تغییرات را در سیستم کنترل نسخه به روز کند تا بتوان به
سوالات زیر پاسخ داد:
آیا اگر در
بین راه به مشکل برخوردید میتوانید پروژه خود را به یک یا چند گام عقبتر
برگردانید؟ آیا میتوانید به هر یک از اعضاء تیم دسترسیهایی را به قسمت
هایی از پروژه تعیین کنید؟ میتوانید تفاوت فایلهای تغییر یافته را
بیابید؟ آیا میتوان خطاهای یک برنامه را گزارش داد و به بحث در مورد آن پرداخت؟
چه کسی کدها را تغییر داده است؟ روند کار و تغییرات به چه صورت است؟ (این
مورد برای به روز کردن نمودارهای burndown در توسعه چابک میتواند بسیار مفید باشد.)
پی نوشت: نه تنها در یک تیم بلکه بهتر هست در یک کار انفرادی هم از این سیستمها استفاده کرد تا حداقل بازبینی روی پروژههای شخصی خود هم داشته باشیم.
سیستم
کنترل گیت: این سیستم در سال 2005 توسط لینوس توروالدز خالق لینوکس معرفی
شد و از آن زمان تاکنون یکی از پر استفادهترین سیستمهای کنترل نسخه شناخته
شده است. ویکی پدیا گیت را به این شکل تعریف میکند: «یک سیستم بازبینی توزیع شده با تاکید بر جامعیت دادهها، سرعت و پشتیبانی جهت توزیع کار.»
از معروفترین سیستمهای هاستینگ که از گیت استفاده میکنند، میتوان به گیت هاب اشاره کرد.
اکثر سیستمهای هاستینگ گیت، دو حالت را ارائه میدهند:
عمومی : در
این حالت کدهای شما به عموم بازدیدکنندگان نمایش داده میشود و دیگران هم
میتوانند در تکمیل و ویرایش کدهای شما مشارکت کنند و این امکان به صورت
رایگان فراهم است. سیستم گیت هاب به دلیل محبوبیت زیادی که دارد، در اکثر
اوقات انتخاب اول همه کاربران است.
خصوصی:
در این حالت کد متعلق به شما، یا شرکت یا تیم نرم افزاری شماست و غیر از
افراد تعیین شده، شخص دیگری به کدهای شما دسترسی ندارد. اکثر سیستمهای
مدیریتی این مورد را به صورت premium پشتیبانی میکنند. به این معنا که
باید اجاره آن را به طور ماهانه پرداخت کنید. سیستم گیت هاب ماهی پنج دلار
بابت آن دریافت میکند. سیستم دیگری که در این زمینه محبوبیت دارد سیستم BitBucket هست
که که اگر تیم شما کوچک است و در نهایت پنج نفر هستید، میتوانید از حالت
خصوصی به طور رایگان استفاده کنید ولی اگر اعضای تیم شما بیشتر شد، باید
هزینهب اجاره آن را که از 10 دلار آغاز میگردد، به طور ماهیانه پرداخت
کنید.
پی نوشت: میتوانید از سیستمهای متن باز رایگان هم که قابل نصب بر روی هاست ها هم هستند استفاده کنید که در این حالت تنها هزینه هاست یا سرور برای شما میماند.
در سیستم گیت اصطلاحات زیادی وجود دارد:
Repository یا مخزن: برای هر
پروژهای که ایجاد میشود، ابتدا یک مخزن ایجاد شده و کدها داخل آن قرار
میگیرند. کاربرانی که قصد تغییر پروژه را دارند باید یک مخزن جداگانه ایجاد
کنند تا بعدا تمامی تغییرات آنها را روی پروژهی اصلی اعمال کنند.
Fork:
هر کاربری که قصد تغییر را بر روی سورس کدی، داشته باشد، ابتدا باید پروژهی نویسنده اصلی پروژه را به یک مخزنی که متعلق به خودش هست انتقال دهد. به این
عمل Fork کردن میگویند. حال کاربر تغییرات خودش را اعمال کرده و لازم هست
که این تغییرات با پروژهی اصلی که به آن Master میگوییم ادغام شوند. بدین جهت
کاربر فرمان pull request را میدهد تا به نویسندهی اصلی پروژه این موضوع
اطلاع داده شود و نویسندهی اصلی در صورت صلاحدید خود آن را تایید کند.
Branching یا شاخه بندی: نویسندهی مخزن اصلی میتواند با مفهومی با نام شاخه بندی کار کند. او با استفاده از
این مفهوم، پروژه را به قسمت یا شاخههای مختلف تقسیم کرده و همچنین با
ایجاد دسترسیهای مختلف به کاربران اجازه تغییرات را بدهد. به عنوان مثال
بخشهای مختلف پروژه از قبیل بخش منطق برنامه، داده ها، رابط کاربری و ...
میتواند باشد. بعد از انجام تغییرات روی یک شاخه میتوانید درخواست merge
ادغام شدن یا کل پروژه را داشته باشید. در عمل شاخه بندی، هیچ کدام از
شاخههای بر روی یک دیگر تاثیر یا دخالتی ندارند و حتی میتوانید چند شاخه
را جدا از بخش master با یکدیگر ادغام کنید.
به غیر از ارتباط خط فرمانی که میتوان با گیت هاب برقرار کرد، میتوان از یک سری ابزار گرافیکی خارجی هم جهت ایجاد این ارتباط، استفاده کرد:
GitHub For Windows :
نسخهی رسمی است که از طرف خود گیت هاب تهیه گردیده است و استفاده از آن
بسیار راحت است. البته یک مشکل کوچک در دانلود آن وجود دارد که دانلود آن
از طریق یک برنامهی جداگانه صورت گرفته و اصلا سرعت خوبی جهت دانلود ندارد.
Visual Studio .Net : (+ ) خود
ویژوال استودیو شامل سیستمی به اسم Microsoft Git Provider است که در بخش
تنظیمات میتوانید آن را فعال کنید (به طور پیش فرض فعال است) و به هر نوع
سیستم گیتی میتوانید متصل شوید. تنها لازم است که آدرس Url گیت را وارد
کنید.
SourceTree:
از آن دست برنامههای محبوبی است که استفاده آسانی دارد و خودم به شخصه از
آن استفاده میکنم. شامل دو نسخهی ویندوز و مک است و میتوانید با چندین
سیستم گیت مثل «گیت هاب» و «بیت باکت» که در بالا به آنها اشاره شد، به طور
همزمان کار کند.