আজ Git প্রবলভাবে industry standard, আর GitHub এটা host করার সবচেয়ে ব্যাপকভাবে ব্যবহৃত জায়গা — কিন্তু কোনোটাই একমাত্র option না, আর আর কী আছে তা জানা একটা পুরনো codebase বা ভিন্ন tool ব্যবহার করা একটা company বোঝায় সাহায্য করে।
| Platform | যার জন্য উল্লেখযোগ্য |
|---|---|
| GitHub | সবচেয়ে বড়, সবচেয়ে ব্যাপকভাবে ব্যবহৃত — এই কোর্স জুড়ে কভার করা |
| GitLab | শক্তিশালী built-in CI/CD pipeline; company তাদের নিজের server-এ চালাতে পারে এমন একটা সম্পূর্ণ self-hosted version-ও দেয় |
| Bitbucket | অন্য Atlassian tool-এর সাথে (Jira, Confluence) নিবিড় integration — এগুলো ইতিমধ্যে ব্যবহার করা team-এ common |
| Azure DevOps Repos | Microsoft-এর বিস্তৃত Azure DevOps suite-এ integrated, enterprise .NET shop-এ common |
| SourceHut | কিছু open-source project pull request-এর চেয়ে email-based patch পছন্দ করে যা একটা minimal, text-first বিকল্প |
এদের সবগুলোই Git repository host করে — আগের lesson-এর সবকিছু (branch, commit, merge) কোনটা একটা project ব্যবহার করে তা নির্বিশেষে একইভাবে কাজ করে। পার্থক্যটা সম্পূর্ণভাবে উপরে layer করা collaboration feature-এ (issue, CI/CD, project board) আর প্রতিটা platform-এর নিজের interface-এ।
| System | এটা কী | যেখানে এখনো পাওয়া যায় |
|---|---|---|
| Subversion (SVN) | Centralized (Git-এর মতো distributed না) — একটা central server-এই একমাত্র পূর্ণ history থাকে | কিছু পুরনো enterprise codebase, বিশেষত pre-2010 project |
| Mercurial (hg) | Distributed, conceptually Git-এর মতো, একটা সহজ command set-এর জন্য পরিচিত | Facebook-এর internal monorepo ঐতিহাসিকভাবে এটা ব্যবহার করত; কিছু open-source project এখনো করে |
| Perforce (Helix Core) | Centralized, খুব বড় binary file (game asset, video)-এর জন্য বানানো | Game development আর Git-এর ভালোভাবে handle না করা বিশাল non-text file সহ অন্যান্য industry-তে common |
| CVS | প্রথম দিকের ব্যাপকভাবে ব্যবহৃত system-গুলোর একটা, বেশিরভাগ superseded | মাঝে মাঝে সত্যিকারভাবে পুরনো, unmaintained project-এ |
Git-এর distributed model (এই কোর্সের প্রথম lesson থেকে, প্রতিটা developer-এর কাছে পূর্ণ history আছে) এর আগে আসা centralized tool-এর তুলনায় branching আর merging দ্রুত আর সস্তা বানিয়েছে — GitHub-এর network effect-এর সাথে মিলে, এটাই মূলত কেন প্রায় 2010 থেকে বেশিরভাগ নতুন project-এর জন্য Git default পছন্দ হয়ে গেছে।
এসবের ভালো খবর
এই কোনো বিকল্পই productively কাজ করার জন্য গভীরভাবে শেখার দরকার নেই — এই পুরো কোর্সের ধারণা (commit, branch, merging, remote) সরাসরি transfer হয়, কারণ Git এদের বেশিরভাগে কোনো না কোনো রূপে ছিল এমন ধারণা ধার নিয়ে পরিমার্জিত করেছে।