এই পোস্টের শুরুতেই আমি ধরে নিচ্ছি যে আপনি গিট সম্পর্কে ধারণা রাখেন এবং এটার ব্যবহার ও উদ্দেশ্য সম্পর্কে জ্ঞাত। তাই এসম্পর্কে আর বেশিদূর যাচ্ছিনা।
গিটে কিছু বেসিক কমান্ড আছে যেটা প্রায়ই প্রয়োজন পড়ে। সেগুলো নিয়ে সংক্ষিপ্ত আকারে এখানে আলোকপাত করব। এই পোস্ট থেকে আমরা যে যে বিষয় সম্পর্কে জানতে পারব-
- নতুন রিপোজিটরি তৈরি করা।
- হোস্ট সার্ভারের জন্য কনফিগার করা।
- গিটে নতুন কিছু যোগ করা।
- কমিট বা চেকপয়েন্ট তৈরি করা।
- রিমোট সার্ভারে পুশ করা।
- রিমোট সার্ভার থেকে পুল করা।
নতুন রিপোজিটরি তৈরি করা
কোন নতুন রিপোজিটরি তৈরি করার জন্য প্রথমেই আমাদেরকে ইনিশিয়ালাইজ করতে হবে। এর জন্য যে ফোল্ডারটি গিটের আওতায় আনতে হবে সেখানে গিট ব্যাশ ওপেন করতে হবে। তারপর এই কমান্ডটি লিখতে হবে –
git init
এই কমান্ডটি লিখলে সাথে সাথেই আপনার লোকাল ডিরেক্টরিতে একটি গিট রিপোজিটরি তৈর হয়ে যাবে। আপনার ঐ ফাইল ডিরেক্টরিতে যদি হিডেন ফাইল দেখার অপশন থাকে তাহলে দেখবেন সেখানে .git নামে একটি ফোল্ডার তৈরি হয়েছে। এই ফোল্ডারের ভিতরেই মূলত সমস্ত পরিবর্তনগুলো সংরক্ষিত হবে। কখনোই এই ফোল্ডারটি অপ্রয়োজনীয় ভেবে ডিলিট করে দিবেন না। ডিলিট করলে আপনার রিপোজিটরিটি নষ্ট হয়ে যাবে।
হোস্ট সার্ভারের জন্য কনফিগার করা
যদি আপনি আপনার রিপোজিটরিটি অনলাইনে সবার সাথে শেয়ার করতে চান এবং বিভিন্ন হোস্ট সার্ভিস প্রোভাইডারে হোস্ট করতে চান যেমন গিটহাব বা বিটবাকেট, তাহলে আপনাকে লোকালি কনফিগার করতে হবে। এটার জন্য আপনার ঐ গিটহাব বা বিটবাকেটের ইমেইল দিয়ে কনফিগার করে নিতে হবে।
git config – -global user.name “your_name”
git config – -global user.email “your_email”
এরপর আপনি গিটহাব বা বিটবাকেটে যেয়ে আপনার কম্পিউটারের জন্য RSA Key তৈরি করে নিতে পারেন অথবা নাও তৈরি করতে পারেন। আপিনি যদি Key তৈরি করেন তাহলে পরবর্তীতে পুশ করার ক্ষেত্রে আর পাসওয়ার্ডের প্রয়োজন পড়বে না। Key তৈরি না করলে প্রতিবারই পাসওয়ার্ড লাগবে। আর Key তৈরি করার সমস্ত ধাপ ঐ ওয়েবসাইটেই পাবেন।
গিটে নতুন কিছু যোগ করা
ধরা যাক আপনি আপনার ডিরেক্টরিতে কিছু ফাইল রেখেছেন বা সেগুলো সম্পাদন করেছেন। আপনি কি কি পরিবর্তন করেছেন বা আসলেই কি কিছু পরিবর্তন করেছেন কিনা সেটা যাচাই করার জন্য নিচের কমান্ডটি লিখতে হবে-
git status
অর্থাৎ আপনি আপনার ডিরেকটরির স্ট্যাটাস জানতে চাচ্ছেন।
যদি কিছু পরিবর্তন করে থাকেন তাহলে সেটা দেখতে পাবেন, যদি কিছু পরিবর্তন না করেন তাহলে আপনি যে আপটুডেট আছেন সেই মেসেজ টা দেখাবে।
ধরা যাক, আপনি যে পরিবর্তনগুলো করেছেন সেটা গিটে যুক্ত করতে চাচ্ছেন। এর জন্য আপনাকে নিচের কমান্ডটি লিখতে হবে –
git add .
এখানে Add এর পরে একটা ডট (.) ব্যবহার করার অর্থ হল আপনি ঐ ডিরেক্টরির যত ফাইলে পরিবর্তন হয়েছে সেগুলোকে সব একসাথে গিটে যুক্ত করতে চাচ্ছেন। ধরা যাক আপনি শুধু একটা নির্দিষ্ট ফাইলকে যুক্ত করতে চান কিন্তু বাকিগুলো না, তাহলে আপনাকে ডট এর পরিবর্তে ঐ ফাইলের নামটা বসিয়ে দিতে হবে।
git add filename
কমিট বা চেকপয়েন্ট তৈরি করা
এতক্ষণ আমরা যেটা করেছি সেখানে এখনো কোন চেকপয়েন্ট যুক্ত করিনি। এর জন্য আমাদেরকে কমিট করতে হবে। কমিট করা অর্থ হচ্ছে আমরা কোন একটা চেকপয়েন্ট তৈরি করতে চাচ্ছি। কমিট করতে নিচের কমান্ডটি লিখতে হবে-
git commit -m “Your Message"
এখানে -m অর্থ হচ্ছে আমি একটা মেসেজ লিখতে চাচ্ছি। এবং ডাবল কোটের ভিতর যে মেসেজটা লিখতে চাচ্ছি সেটা দিতে হবে। মেসেজটা সংক্ষিপ্ত কিন্তু অর্থবহ হলে পরবর্তীতে খুজে পেতে সুবিধা হয়।
কমিট করলে একটা কোড জেনারেট হয়। এই কোড দিয়ে পরবর্তীতে আবার এই স্টেট এ রোলব্যাক করা যায়।
রিমোট সার্ভারে পুশ করা
এতক্ষণ আমরা যেটা দেখলাম সেটা হচ্ছে লোকাল ডিভাইসে গিট ব্যবহার করা। যদি আপনি শুধু লোকালিই ব্যবহার করতে চান তাহলে এই অংশের প্রয়োজন নেই। আমি ধরে নিচ্ছি আপনি আপনার রিপোজিটরিটি রিমোট সার্ভার যেমন গিটহাব বা বিটবাকেটে হোস্ট করতে চান। তাহলে আপনাকে প্রথমেই ঐ সাইটে গিয়ে একটি রিপজিটরি তৈরি করে নিতে হবে। রিপোজিটরি তৈরি করার পরে আপনাকে যা যা করতে হবে সেটা ওখানে নির্দেশনা হিসেবে দেওয়াই আছে। শুধু অনুসরণ করবেন। আমি ব্যক্তিগতভাবে গিটহাবের চেয়ে বিটবাকেটকেই বেশি পছন্দ করি, তাই বিটবাকেট থেকেই দেখাচ্ছি –
git remote add origin git@bitbucket.org:your_username/your_repository_name
এখন আমার লোকাল ডিরেক্টিরিটি অনলাইনে নিয়ে যেতে পুশ করতে হবে।
git push origin master
এখানে master অর্থ হচ্ছে ব্রাঞ্চ। আপনি বিভিন্ন ব্রাঞ্চ তৈর করতে পারেন। যদি আলাদা কোন ব্রাঞ্চ তৈরি না করা হয় তাহলে বাই ডিফল্ট সেটা master হিসেবেই থাকে। মূলত এটাই মূল ব্রাঞ্চ।
রিমোট সার্ভার থেকে পুল করা
এখন আপনি আপনার এই রিপোজিটরিটি যদি অন্য কোন কম্পিউটার থেকে ব্যবহার করতে চান বা অন্য কারো রিপোজিটরি ব্যবহার করতে চান (যেখানে আপনার এক্সেস আছে) তাহলে আপনাকে পুল কমান্ড ব্যবহার করতে হবে।
যে ডিরেক্টরিতে পুল করবেন সেখানে ঐ রিপোজিটরিটি কপি হয়ে যাবে।
git pull origin branch_name
এভাবে আপনি বিভিন্ন জায়গা থেকে এক্সেস করতে পারবেন।
ধন্যবাদ।