ভার্সন কন্ট্রোল সিস্টেম (VCS) কে কয়েকভাবে ভাগ করা যেতে পারে -
খুব সহজ ভাষায় Git হচ্ছে ক্লাইন্টদের সবার কাছেই মুল কপি থাকবে।। সবাই যার যার মত সে ফাইলের উপর কাজ করবে।। Git তার ভার্সনের উপর ট্রাক রাখবে।। ফাইনালী একটা Git সার্ভারে (Github[1]/Bitbucket[2]/Gitlab[3]) সবার কপি একত্রিতভাবে (Merged) থাকবে।। পুনরায় আবার কাজ করার জন্য সেই সার্ভার (Repository) থেকে লোকাল সিস্টেমে ফাইল নিবে (Clone)।।
তবে Github/Bitbucket এসব পাবলিক সার্ভার আপনাকে Git এর ফিচারের সাথে সাথে অতিরিক্ত কিছু সুবিধা দেয়।। যেমন CI/CD. [4]
অর্থাৎ Github হচ্ছে একটি পাবলিক Git Server যেখানে আপনি আপনার ফাইল Git ব্যাবহার করে ভার্সন কন্ট্রোল করতে পারেন।। ওয়েবসাইট বানিয়ে গিটহাবে আপলোড করে আপনি (রিপোজিটরি সেটিংসে পরিবর্তন করে) সার্ভারের মত তা হোস্টও করতে পারবেন।। সবশেষে আশাকরি Github এর ফিচারগুলো বিস্তারিতভাবে শেখার জন্য তাদের অফিশিয়াল এই পেজটি আপনাকে সহযোগীতা করবে।।
- লোকাল ভার্সন কন্ট্রোল সিস্টেম
- সেন্ট্রালাইজড ভার্সন কন্ট্রোল সিস্টেম (উদাহরন - SVN)
- ডিস্ট্রিবিউটেড ভার্সন কন্ট্রোল সিস্টেম (উদাহরন - Git)
খুব সহজ ভাষায় Git হচ্ছে ক্লাইন্টদের সবার কাছেই মুল কপি থাকবে।। সবাই যার যার মত সে ফাইলের উপর কাজ করবে।। Git তার ভার্সনের উপর ট্রাক রাখবে।। ফাইনালী একটা Git সার্ভারে (Github[1]/Bitbucket[2]/Gitlab[3]) সবার কপি একত্রিতভাবে (Merged) থাকবে।। পুনরায় আবার কাজ করার জন্য সেই সার্ভার (Repository) থেকে লোকাল সিস্টেমে ফাইল নিবে (Clone)।।
- এভাবে একটি ফাইল গিট সার্ভারের রিপোজিটরিতে রাখা থাকে।।
- ক্লাইন্টরা সেই রিপোজিটরি থেকে ক্লোন করার মাধ্যমে তাদের লোকাল সিস্টেমে নিবেন
- এর পর সেই ফাইল এ কাজ (আপডেট/ডিলিট) করার পর তা পুনরায় গিট সার্ভারে আপলোড (push) করে দেন।।
তবে Github/Bitbucket এসব পাবলিক সার্ভার আপনাকে Git এর ফিচারের সাথে সাথে অতিরিক্ত কিছু সুবিধা দেয়।। যেমন CI/CD. [4]
অর্থাৎ Github হচ্ছে একটি পাবলিক Git Server যেখানে আপনি আপনার ফাইল Git ব্যাবহার করে ভার্সন কন্ট্রোল করতে পারেন।। ওয়েবসাইট বানিয়ে গিটহাবে আপলোড করে আপনি (রিপোজিটরি সেটিংসে পরিবর্তন করে) সার্ভারের মত তা হোস্টও করতে পারবেন।। সবশেষে আশাকরি Github এর ফিচারগুলো বিস্তারিতভাবে শেখার জন্য তাদের অফিশিয়াল এই পেজটি আপনাকে সহযোগীতা করবে।।