Vivasoft-logo

2.1 গিট বেসিক – কিভাবে একটি গিট রিপোজিটরি বানাতে হয়

আপনি যদি একটি চ্যাপ্টার পড়েই গিট শিখতে চান, তবে এটাই সেই জায়গা। এই চ্যাপ্টার এ গিট এর প্রায় সব বেসিক কমান্ডই কভার করা হয়েছে, যা আপনার গিট রিপোজিটরি তৈরি করা থেকে শুরু করে, ফাইল ট্র্যাক করা, ফাইল ইগনোর করা, আনট্র্যাক করা, স্টেজ ও কমিট চেঞ্জ ইত্যাদি সম্পর্কে জানাবে। এমনকি নির্দিষ্ট ফাইল কিংবা ফাইল প্যাটার্নের জন্য কিভাবে গিট ইগনোর সেট করা যায়, কিভাবে ভুল হলে দ্রুততম সময়ে ও সহজ পন্থায় তা আনডো করা যায়, কিভাবে প্রজেক্টের হিস্টোরি ব্রাউজ করা যায়, কিভাবে বিভিন্ন কমিটের মাঝের চেঞ্জগুলো পর্যবেক্ষণ করা যায় এবং রিমোট রিপোজিটরি থেকে কিভাবে পুল ও তাতে পুশ করা যায় সে সম্পর্কেও আমরা এ পর্যায়ে জানব।

একটি গিট রিপোজিটরি বানানো

আপনি দুইভাবে একটি গিট রিপোজিটরি বানাতে পারেন:
  1. ভার্সন কন্ট্রোল এর অধীনে নেই এমন একটি লোকাল ডিরেক্টরি নিয়ে সেটাকে গিট রিপোজিটরিতে রূপান্তর করতে পারেন
  2. অথবা এক্সিসটিং কোন গিট রিপোজিটরি কে ক্লোন করতে পারেন।
দুটোর ক্ষেত্রেই আপনার লোকাল মেশিন এ একটি গিট রিপোজিটরি তৈরি হবে যা ব্যবহারের জন্য প্রস্তুত থাকবে।

একটি ফোল্ডারে কিভাবে গিট রিপোজিটরি বানাবেন

আপনার যদি একটি প্রজেক্ট ডিরেক্টরি থাকে যা বর্তমানে ভার্শন কন্ট্রোল শুরু করা হয় নি এবং আপনি এটিকে গিট দিয়ে ভার্শন কন্ট্রোল করা শুরু করতে চান, আপনাকে প্রথমে সেই প্রজেক্টের ডিরেক্টরিতে যেতে হবে। আপনি যদি এটি কখনও না করে থাকেন তবে আপনি কোন সিস্টেমটি চালাচ্ছেন তার উপর নির্ভর করে এটি একটু ভিন্ন:
লিনাক্স এর জন্য:
				
					$ cd /home/user/my_project
				
			

ম্যাক এর জন্য

				
					$ cd /Users/user/my_project
				
			
উইন্ডোজ এর জন্য:
				
					$ cd C:/Users/user/my_project
				
			
এতে করে আপনার my_project ফোল্ডার এ একটি হিডেন সাবডিরেকটরি .git ফোল্ডার তৈরী করবে যাতে আপনার সব গিট এর তথ্য জমা থাকবে। এটা একটা গিট রিপোজিটরি এর কঙ্কাল এর মত। এই মুহুর্তে, আপনার প্রজেক্টের কিছুই এখনও ট্র্যাক করা হয়নি। আপনার তৈরি করা .git ডিরেক্টরিতে ঠিক কোন ফাইলগুলি রয়েছে সে সম্পর্কে আরও তথ্যের জন্য Git Internals দেখুন ।

আপনি যদি এক্সিসটিং ফাইলগুলির ভার্শন কন্ট্রোল শুরু করতে চান (একটি খালি ডিরেক্টরিতে ), আপনার সম্ভবত সেই ফাইলগুলি ট্র্যাক করা শুরু করা উচিত এবং একটি ইনিশিয়াল কমিট করা উচিত। আপনি যে ফাইলগুলি ট্র্যাক করতে চান তা নির্দিষ্ট করে কয়েকটি git add কমান্ড দিয়ে এটি সম্পন্ন করতে পারেন, একটি গিট কমিট অনুসরণ করে:
				
					$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'

				
			
আমরা কয়েক মিনিটের মধ্যে এই কমান্ডগুলি কী করে তা নিয়ে জানতে পারবো । এই মুহুর্তে, আপনার কাছে ট্র্যাক করা ফাইল এবং একটি ইনিশিয়াল কমিটসহ একটি গিট রিপোজিটরি রয়েছে।

পূর্বে থাকা একটি রিপোজিটরিকে ক্লোন করা

আপনি যদি পূর্বে থাকা কোনো গিট রিপোজিটরিকে কপি করতে চান, আপনাকে git clone কমান্ডটি ব্যবহার করতে হবে। git clone কমান্ডটি রিমোট রিপোজিটরির সব ফাইলের প্রত্যেক ভার্শনের হিস্ট্রিসহ নিয়ে আসে। যদি আপনার সার্ভার ডিস্ক নষ্টও হয়ে যায়, আপনি ক্লোন ব্যবহার করে সার্ভারটিকে সেই অবস্থায় ফিরিয়ে আনতে পারেন (আপনি কিছু সার্ভার-সাইড হুক হারাতে পারেন, কিন্তু সমস্ত সংস্করণযুক্ত ডেটা সেখানে থাকবে – আরও বিস্তারিত জানার জন্য Getting Git on a Server এ দেখুন) । একটি গিট রিপোজিটরিকে ক্লোন করার জন্য আপনাকে git clone কমান্ডটি ব্যবহার করতে হবে. উদাহরণ হিসাবে,
				
					$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'

				
			
এটি libgit2 নামে একটি ডিরেক্টরি তৈরি করে, এটির ভিতরে একটি .git ডিরেক্টরি তৈরি করে, সেই রিপোজিটরির জন্য সমস্ত ডেটা পুল করে আনে এবং সর্বশেষ ভার্শনের একটি কপি তৈরি করে । আপনি যদি এইমাত্র তৈরি করা নতুন libgit2 ডিরেক্টরিতে যান, আপনি সেখানে প্রজেক্ট ফাইল দেখতে পাবেন, কাজ করার জন্য বা ব্যবহার করার জন্য প্রস্তুত।
আপনি যদি অন্যরকম ফোল্ডার নামে দিতে চান, সেখেত্রে git clone কমান্ড এর শেষে ফোল্ডার এর নাম উল্লেখ করে দিতে পারেন। যেমন:
				
					$ git clone https://github.com/libgit2/libgit2 mylibgit
				
			
এই কমান্ডটি আগেরটির মতো একই কাজ করে, তবে টার্গেট ডিরেক্টরিটি এবার mylibgit।

গিট অনেক ধরনের ট্রান্সফার প্রটোকল ব্যবহার করে। উপরের কমান্ডটি https:// প্রটোকল ব্যবহার করবে। কিন্তু আপনি চাইলে git:// অথবা user@server:path/to/repo.git ব্যবহার করতে পারবেন। এইগুলা SSH ট্রান্সফার প্রটোকল ব্যবহার করে। Getting Git on a Server আপনার গিট রিপোজিটরিকে অ্যাক্সেস করার জন্য সার্ভার সেট আপ করতে পারে এমন সমস্ত উপায় এবং প্রতিটির সুবিধা এবং অসুবিধাগুলিকে পরিচয় করিয়ে দেবে।