GitHub و Bitbucket دو تا از شناختهشدهترین مخازن کد در بازار هستند. بیایید آنها را در مقابل هم قرار دهیم: Bitbucket در مقابل GitHub. مبارزه آغاز شد!
اگر شما یک توسعهدهنده هستید، تقریبا مطمئنا با آنها آشنا هستید. حتی اگر قبلا با آنها آشنا نبودید، احتمالا میدانید که مایکروسافت چند سال پیش GitHub را با قیمت چشمگیر 7.5 میلیارد دلار خریداری کرد.
در این مقاله، ما به بررسی جوانب مثبت و منفی این دو پلتفرم میپردازیم و توضیح میدهیم که چرا – به نظر ما – Bitbucket گزینه مناسبتری برای کدهای شماست.
برای افرادی که تازه با Bitbucket یا GitHub آشنا شدهاند، در این مقدمه توضیح کوتاهی ارائه کردهایم. اگر شما قبلا با این ابزارها آشنا هستید، میتوانید این بخش را رد کنید.
چرا به یک مخزن کد مانند Bitbucket یا GitHub نیاز دارم؟
به طور خلاصه، برای کنترل نسخه.
اگر شما در حال بهروزرسانی یک پایگاه کد هستید یا با شخص دیگری همکاری میکنید، توانایی بازگرداندن تغییرات و دسترسی به مخزن برای همکاران و مشارکتکنندگان ضروری است.
پس وقت آن رسیده که مهندسان سازماندهی شوند!

معرفی GitHub
GitHub محبوبترین سیستم کنترل نسخه در جهان است که حدود 57 میلیون توسعهدهنده در آن عضو هستند. همچنین توسط جامعه متنباز بسیار دوستداشتنی است – زیرا مخازن عمومی رایگان هستند.
همانطور که از نام آن پیداست، GitHub عمدتا از Git پشتیبانی میکند (اگرچه میتواند با Mercurial و SVN نیز کار کند). آن با Ruby on Rails و Erlang نوشته شده است و برای ویندوز، مک، اندروید و آیفون در دسترس است.
ویژگیها شامل موارد زیر هستند:
- بررسی کد مشارکتی
- یک ردیاب مسئله یکپارچه
- نقاط عطف و برچسبها برای پروژهها
- برجستهسازی نحو
- نمایش مقایسه شاخهها
- پشتیبانی از بیش از 330 زبان و فرمت داده
- احراز هویت دو عاملی
- و صفحات GitHub که به شما امکان انتشار و میزبانی از داخل خود GitHub را میدهند
این پلتفرم با همه چیز از Asana تا Zendesk، به علاوه CloudBees، CodeClimate، Heroku و Travis؛ و با ارائه دهندگان میزبانی ابری از جمله AWS، Google Cloud و Windows Azure ادغام شده است.

معرفی Bitbucket
Bitbucket از Git پشتیبانی میکند (اما از SVN پشتیبانی نمیکند؛ و از Mercurial VCS هم پشتیبانی نمیکند). با پایتون نوشته شده است و از فریمورک وب Django استفاده میکند. و برای مک، ویندوز، لینوکس، iOS و اندروید در دسترس است.
Bitbucket با ویژگیهای امنیتی سطح سازمانی همراه است، از جمله لیست سفید IP و پشتیبانی IPv6 و مطابق با استانداردهای SOC-II، SOC III، PCI DSS، ISO/IEC 27001، ISO/IEC 27018 و GDPR است.
ویژگیهای مهم عبارتند از:
- درخواستهای کششی و بررسی کد
- مقایسه شاخه و تاریخچه کامیت
- و مخازن خصوصی نامحدود
راه ادغام برای Bamboo، Crucible، Jenkins و Jira ارائه میشود.
از احراز هویت خارجی با GitHub، فیسبوک، گوگل و توییتر پشتیبانی میکند.
در سطح سازمانی، آینههای هوشمند برای تیمهای توزیعشده ارائه میدهد که سرعت کپیبرداری و زمان بازیابی را افزایش میدهد و همچنین اطمینان حاصل میکند که کار ایمن و همگامسازی شده است.
چه چیزی واقعا Bitbucket را بهتر از GitHub میکند؟
Bitbucket انعطافپذیرتر از GitHub است
در حالی که GitHub با بسیاری از ویژگیها همراه است و به شما امکان میدهد گردش کار خود را ایجاد کنید، Bitbucket احتمالا انعطافپذیری بیشتری دارد.
Bitbucket همچنین میتواند از Git، CodePlex، Google Code، SourceForge و SVN واردات کند. از سوی دیگر، GitHub میتواند از Git، SVN، HG و TFS واردات کند. با استفاده از Bitbucket، میتوانید دقیقا به همان روشی که میخواهید کار کنید، بدون اینکه سعی کنید میخ مربع را در سوراخ گرد جا دهید.
Bitbucket قیمتگذاری بهتری دارد
Bitbucket برای حداکثر پنج کاربر کاملا رایگان است. این شامل مخازن خصوصی نامحدود است و با توجه به اینکه شما میتوانید مخازن عمومی نامحدود نیز داشته باشید، تعجبآور نیست که تعداد زیادی از پروژههای بزرگ متنباز روی این پلتفرم وجود دارد.
Bitbucket همچنین مخازن خصوصی نامحدود را برای معلمان و دانشآموزان به صورت رایگان ارائه میدهد – که گفتن نه به آن سخت است.
ارتقاها تعداد دقیقههای ساخت و مقدار فضای ذخیرهسازی فایلهای بزرگ را در بسته افزایش میدهند (با قیمت 3 دلار در ماه برای هر کاربر برای یک حساب استاندارد و 6 دلار برای یک حساب ممتاز).
از سوی دیگر، پیشنهاد رایگان GitHub با مخازن عمومی و خصوصی نامحدود با همکاران نامحدود همراه است. با این حال، بسته سازمانی کمی گرانتر است و هزینه آن 21 دلار در ماه برای هر کاربر است (بیش از سه برابر قیمت گرانترین بسته Bitbucket).
Bitbucket قابل اعتماد است
در طول دو سال گذشته، مفسران به طور فزایندهای نسبت به ارتباط مایکروسافت با GitHub شک داشتند.
در واقع، ممکن است این واقعیت باشد که GitHub دسترسی به یک اکوسیستم عظیم از توسعهدهندگان و در واقع یک شبکه اجتماعی کدنویسان را ارائه میدهد. این امر به ویژه مهم است زیرا همچنان خارج از حوزه LinkedIn قرار دارد – که یک خرید اخیر مایکروسافت است.
این اضطراب به ویژه با افزایش چشمگیر مهاجرت مخازن به Bitbucket، که بلافاصله پس از اعلام خرید GitHub توسط مایکروسافت صورت گرفت، آشکار شد:
از سوی دیگر، Bitbucket از سال 2010 بخشی از خانواده Atlassian بوده است و بخش مهمی از پیشنهاد آن برای جامعه مهندسی است.
با توجه به این موضوع، بعید است که Atlassian بخواهد قایق را تکان دهد یا محصول را برای درآمد فشار دهد. و هیچ دلیلی وجود ندارد که این وضعیت به زودی تغییر کند.
جستجوی معنایی هوشمندتر
چیزهای کوچک میتوانند همه چیز را تغییر دهند. یک مثال عالی از این واقعیت است که جستجوی Bitbucket نحو شما را برای یافتن تعاریفی که با پرس و جوی شما مطابقت دارد، جستجو میکند، نه فقط نام متغیرها.
این جستجو را بسیار سریعتر و قدرتمندتر از آنچه که در غیر این صورت بود میکند. و آیا این همان چیزی نیست که نرمافزار خوب قرار است انجام دهد؟
قابلیت ویکی ارزشمند
یکی از جنبههای بسیار مفید Bitbucket این است که هر مخزن میتواند ویکی خاص خود را داشته باشد که با یک کلیک در دسترس است. این عملکرد به این معنی است که شما میتوانید تمام اطلاعات و یادداشتهای مورد نیاز خود را در پلتفرم قرار دهید و آنها را در طول چرخه توسعه خود در دسترس داشته باشید. علاوه بر این، میتوانید از ویکی برای نگهداری مستندات نرمافزار خود به صورت مداوم استفاده کنید – چه به آن نیاز داشته باشید عمومی باشد یا خصوصی.
البته، اگر نیازهای پیچیدهتری دارید، میتوانید Bitbucket و Confluence را برای کار با ابزارهای انتشار قدرتمندتر ادغام کنید.
Bitbucket یکپارچهسازی Jira قدرتمندی دارد
“Atlassian برای نرمافزار همان چیزی است که اپل برای طراحی است” – FORBES
از زمانی که Atlassian در سال 2017 با ارزش بازار تخمینی بیش از 10 میلیارد دلار (آمریکایی) عمومی شد، رشد نمایی مجموعه محصولات آن تقریبا غیرقابل توقف به نظر میرسد. و Jira محصول پرچمدار آنها است.
Jira در ابتدا به عنوان یک ردیاب اشکال ساخته شد اما اکنون آنقدر انعطافپذیر است که میتواند برای کارهایی مانند ردیابی مسئله، تحویل خدمات دسک و مدیریت پروژه استفاده شود.
Bitbucket به صورت یکپارچه با ابزار ردیابی وظایف Jira ادغام میشود – شاید تعجبآور نباشد، با توجه به اینکه هر دو متعلق به Atlassian هستند. بنابراین اگر از دو ابزار با هم استفاده میکنید، میتوانید کامیتهای کد را طوری تنظیم کنید که به طور خودکار مسائل Jira را بهروزرسانی کنند.