গিট হচ্ছে ভার্সন কন্ট্রোল সিস্টেম। ডেভেলপাররা সাধারণত প্রজেক্টের ভার্সন কন্ট্রোল এবং একই প্রজেক্টে একের অধিক ডেভেলপার কাজ করার জন্য গিট ব্যবহার করে। গিট দিয়ে বড়ো সড়ো প্রজেক্ট গুলো কন্ট্রোল করা হয়। গিট সম্পর্কে আস্তে আস্তে আমরা জেনে নিব। আজ শুধু জানব কিভাবে উইন্ডোজে গিট ইন্সটল করা যায়। গিট কিভাবে গিটহাবে একটা প্রজেক্ট আপলোড বা পুশ করা যায়। কিভাবে ক্লোন করা যায়, ইত্যাদি।
নিচের লিঙ্ক এ গিয়ে উইন্ডোজের জন্য গিট ডাউনলোড করে নিব। এরপর ইন্সটল।
গিট ইন্সটল করার পর পাথ সেটিং এ গিয়ে গিট এর পাথ যুক্ত করতে হবে। যেমন C:\Program Files (x86)\Git\cmd
তার জন্য Control Panel থেকে System এ ক্লি করতে হবে। System থেকে Advance System সেটিং এ ক্লিক করতে হবে। এরপর Environment Variable এ ক্লিক করতে হবে। ঐখান থেকে User Variable থেকে path এ ক্লিক করে Edit করতে হবে। এবং গিটের cmd পাথ যুক্ত করে দিতে হবে। ঠিক মত সেট করা হয়েছে কিনা, তা জন্য কমান্ড লাইন ওপেন করে git লিখলে যদি গিট সম্পর্কিত তথ্য দেখায়, তাহলে বুঝতে হবে ঠিক মত পাথ সেট করা হয়েছে।
এবার আমরা একটা প্রজেক্ট তৈরি করতে পারি। এবং তা গিটহাব github.com এ আপলোড করতে পারি। তার জন্য গিটহাবে একটা একাউন্ট খুলে নিব। একাউন্ট খোলার পর লগিন করব। + সাইনে ক্লিক করে New Repository তে ক্লিক করব। বলে রাখা ভালো যে গিট এবং গিটহাব দুইটা ভিন্ন জিনিস। একটা হচ্ছে ভার্সন কন্ট্রোল সিস্টেম। আরেকটা হচ্ছে হোস্টিং। হিটহাব গিটপ্রজেক্ট গুলো হোস্ট করে।
এরপর একটা নাম দিয়ে রিপোজিটোরি তৈরি করে নিব।
রিপোজিটোরি তৈরি করার পর আমারা কিভাবে একটা প্রজেক্ট পুশ করতে পারি, তার গিট কমান্ড গুলো দেখাবে। নিচের মত করেঃ
এখন আমরা একটি প্রজেক্ট তৈরি করব। যেটা আমরা গিটহাবে পুশ/আপলোড করব। যেমন ডেস্কটপে একটা ফোল্ডার তৈরি করি। git-push-demo নামে। ফোল্ডারের ভেতর যে কোন ধরনের কোড লিখি। C, Java, C++, PHP, C# যা ইচ্ছে তাই। আমি শুধু ডেমো হিসেবে একটা HTML ফাইল তৈরি করব। index.html নামে। তার ভেতরে শুধু লিখছি <h1>Hello World!</h1> আমরা চাইলে আমাদের যে কোন প্রজেক্টই আপলোড করতে পারি।
git-push-demo ফোল্ডারে আমাদের গিট Initialize করতে হবে। তার জন্য কমান্ড লাইনে যাবো। তারপর ডিরেক্টোরি পরিবর্তন করে git-push-demo এ আসব। তার জন্য লিখতে হবেঃ
1
| cd git-push-demo |
এরপর গিট ইনিশিয়ালাইজ করার জন্য লিখবঃ
1
| git init |
তাহলে আমাদের git-push-demo ফোল্ডারে একটা লোকাল গিট রিপোজিটোরি তৈরি হবে। এবার কাজ হচ্ছে আমাদের এই রিপোজিটোরিতে আমাদের প্রজেক্টের ফাইল গুলো যুক্ত করা। তার জন্য লিখবঃ
1
| git add . |
git add . মানে হচ্ছে সব গুলো ফাইল গিট রিপোজিটোরিতে যুক্ত করা। আমাদের প্রজেক্টে মাত্র একটা ফাইল রয়েছে। তাই একটাই যুক্ত হবে।
এড করার পর commit করব। তার জন্য লিখবঃ
1
| git commit -m "first commit" |
এবার আমরা এ প্রজেক্টটি গিটহাবে পুশ করার জন্য প্রস্তুত। গিটহাবে যেখানে আমরা পুশ করব, তাকে বলে রিমোট রিপোজিটোরি। লোকাল রিপোজিটোরি থেকে রিমোটে পুশ করার জন্য আগে আমাদের রিমোট রিপোজিটোরির URL টা যুক্ত করতে হবে। প্রত্যেকটা গিটহাব প্রজেক্টের জন্য একটা করে url পাবো। যেমন আমাদের git-push-demo https://github.com/jakirseu/git-push-demo.git । jakirseu হচ্ছে আমার ইউজার নেম। রিমোট রিপোজিটোরি যুক্ত করার জন্য লিখতে হবেঃ
1
| git remote add origin https://github.com/jakirseu/git-push-demo.git |
এরপর পুশ করব। তার জন্য লিখতে হবেঃ
1
| git push -u origin master |
এই বার আমাদের গিটহাবের ইউজার নেম চাইবে। এরপর চাইবে পাসওয়ার্ড। পাসওয়ার্ড দিয়ে এন্টার চাপলে আমাদের প্রজেক্টটি গিটহাবে আপলোড হয়ে যাবে। সব কিছু ঠিক মত হলে নিচের মত মেসেজ পাবোঃ

আমাদের প্রজেক্টে মাত্র একটি ফাইল ছিল, index.html তাই দেখাচ্ছে।
নিজে নিজে বা কোন টিমের সাথে বড় প্রজেকেটে কাজ করার জন্য গিটে ব্যবহার জানা খুবি দরকারি। উপরে শুধু গিটের ব্যাসিক ব্যবহার দেখানো হয়েছে। কিভাবে গিট রিপো তৈরি করতে হয়, গিটে কমিট করতে হয়, কিভাবে গিটহাবে একটা প্রজেকট পুশ করতে হয়। ইত্যাদি।
মনে করি আমরা আমাদের লোকালে রাকা, মানে ডেস্কটপে রাখা প্রজেকটি ভুলে ডিলেট করে ফেলছি। এখন কি করব? গিটহাবে যেহেতু আমাদের প্রজেক্টটি রয়েছে, আমরা সহজেই গিট হাব থেকে ডাউনলোড করে নিতে পারি। Zip আকারে ডাউনলোড করে নেওয়া যাবে। আমরা চাইলে গিট দিয়ে ক্লোন করে নিতে পারি। তাহলে আমাদের প্রজেক্টের একটা কপি আবার লোকালে তৈরি হয়ে যাবেঃ
1
| git clone https://github.com/jakirseu/git-push-demo.git |
এবার আবার আমাদের প্রজেক্টে কাজ শুরু করতে পারি।
গিটহাব হচ্ছে পাবলিক গিট প্রজেক্ট হোস্ট। আমরা যদি সিক্রেট কোন প্রজেক্টে কাজ করি, আমরা প্রজেক্ট গুলো কোথায় হোস্ট করব? হ্যা, তার জন্য প্রাইভেট গিট প্রজেক্ট হোস্ট রয়েছে। গিটহাবেও প্রাইভেট রিপোজিটোরি তৈরি করা যায়। তার জন্য মাসে মাসে ৳ গুনতে হয়। ফ্রি প্রাইভেট রিপোজিটোরি অনেক রয়েছে, তার মধ্যে সেরা একটা হচ্ছে bitbucket
এখানে প্রাইভেট রিপোজিটোরি তৈরি করা যাবে। নিজের টিম যুক্ত করা যাবে। ইত্যাদি ইত্যাদি…
গিট দিয়ে অনেক কমপ্লেক্স প্রজেক্ট ম্যানেজ করা যায়। শিখতে তো হবে, তাই না? শুরু করা যেতে পারে নিচের লিঙ্ক থেকেঃ