Git & GitHub
Basic Git Commands
Git কি ?
গিট হলো একধরনের ভার্সন কন্ট্রোল টুল, যেটা তোমার কোড এবং ফাইলের বিভিন্ন সংস্করণ ট্র্যাক করতে সাহায্য করে। বিশেষ করে, সফটওয়্যার ডেভেলপমেন্টের ক্ষেত্রে এটি অত্যন্ত কার্যকরী। তবে, যেকোনো ফাইলের পরিবর্তনকেও গিটের মাধ্যমে সহজে ট্র্যাক করা যায়।
ভার্সন কন্ট্রোল কী?
ধরো, তুমি তোমার কম্পিউটারে একটা ডকুমেন্ট লিখছো। আজ কিছু লিখলে, কাল আবার কিছু যোগ করলে। এরপর একদিন হঠাৎ বুঝলে যে, গত দুই দিনে যা লিখেছো, তা ঠিক হয়নি। এখন তুমি যদি সেগুলো মুছে ফেলো, তবে তোমার আগের গুরুত্বপূর্ণ অংশও হারিয়ে যেতে পারে। এই সমস্যাটার সমাধানে কী করবে?
এই সমস্যায় গিট তোমাকে সাহায্য করতে পারে। গিট প্রতিটি ফাইলের পরিবর্তন মনিটর করে এবং সেগুলোকে আলাদা আলাদা ভার্সনে রাখে। এর ফলে, তুমি আগের যে কোনো সময়ে ফিরে যেতে পারো, এবং কোনো তথ্য হারানোর ভয় থাকে না।
1. গিট ইনিশিয়ালাইজ করা
ব্যাখ্যা:
প্রথমে তোমার প্রজেক্টে গিট ব্যবহারের জন্য git init কমান্ড চালাতে হবে। এটি তোমার প্রজেক্ট ফোল্ডারে একটি .git ডিরেক্টরি তৈরি করবে, যা গিটের রেপোজিটরি হিসেবে কাজ করবে।
সেরা অভ্যাস:
প্রোজেক্টের শুরুর দিকেই git init করে নিতে হবে যাতে সমস্ত পরিবর্তন সঠিকভাবে ট্র্যাক করা যায়। মূল ফোল্ডারে এই কমান্ডটি চালানো উচিত।
2. গিট স্ট্যাটাস চেক করা
ব্যাখ্যা: এই কমান্ডটি তোমাকে জানাবে কোন ফাইলগুলো পরিবর্তন করা হয়েছে, নতুন যোগ করা হয়েছে বা এখনও কমিট করা হয়নি। এটি গিটের বর্তমান অবস্থা চেক করার জন্য ব্যবহার করা হয়।
সেরা অভ্যাস:
প্রতিবার ফাইল এডিট করার পর বা নতুন কোনো পরিবর্তন করার পর git status চালিয়ে ফাইলগুলোর অবস্থা চেক করে নেওয়া উচিত, যেন কিছু বাদ পড়ে না যায়।
3. ফাইল স্টেজে তোলা
ব্যাখ্যা:
git add কমান্ড ব্যবহার করে তুমি তোমার ফাইল বা ফোল্ডারগুলোকে স্টেজে আনতে পারো, যা পরবর্তী কমিটের জন্য প্রস্তুত হবে।
সেরা অভ্যাস: স্টেজে তোলার আগে নিশ্চিত হও যে শুধু প্রয়োজনীয় ফাইলগুলোই স্টেজে এসেছে। ভুল করে অপ্রয়োজনীয় কিছু ফাইল যুক্ত হয়ে গেলে সেটা ঠিক করে নাও।
4. কমিট করা
ব্যাখ্যা:
এই কমান্ড দিয়ে তোমার স্টেজ করা পরিবর্তনগুলো গিটে সংরক্ষণ করা হয়। -m অপশনের মাধ্যমে তুমি ছোট্ট একটা বার্তা দিতে পারবে, যেটা ঐ কমিটের সংক্ষিপ্ত বিবরণ হবে।
সেরা অভ্যাস: প্রতিটি কমিটের জন্য সংক্ষিপ্ত ও স্পষ্ট বার্তা ব্যবহার করা উচিত, যেন পরে বুঝতে সুবিধা হয় যে কমিটটি কী পরিবর্তন করেছে।
5. গিট লগ চেক করা
ব্যাখ্যা:
এই কমান্ডগুলো দিয়ে তুমি পূর্ববর্তী সমস্ত কমিটের ইতিহাস দেখতে পারবে। --oneline অপশনটি কমিটগুলোকে এক লাইনে সংক্ষিপ্ত আকারে দেখাবে।
6. একটা কমিট থেকে অন্য কমিটের অবস্থায় ফিরে যাওয়া
ব্যাখ্যা: এই কমান্ড ব্যবহার করে তুমি পূর্ববর্তী কোনো কমিটে ফিরে যেতে পারবে এবং বর্তমানে করা সব পরিবর্তন মুছে যাবে।
সেরা অভ্যাস:
এই কমান্ড ব্যবহারের আগে খুব সতর্ক থাকো, কারণ --hard অপশন দিয়ে সবকিছু হারিয়ে যেতে পারে, যা পরে পুনরুদ্ধার করা সম্ভব নাও হতে পারে।
7. গিটের প্রতিটা চেঞ্জের রেফারেন্স সহ লগ দেখার জন্য
ব্যাখ্যা:
git reflog দিয়ে গিটের প্রতিটি চেঞ্জ এবং ব্রাঞ্চের পরিবর্তনের ইতিহাস দেখা যায়।
8. গিটের ট্র্যাক থেকে কোন ফাইল রিমূভ করা
ব্যাখ্যা: এই কমান্ড ব্যবহার করে তুমি গিটের ট্র্যাক থেকে নির্দিষ্ট কোনো ফাইল সরাতে পারবে।
সেরা অভ্যাস: ফাইল ডিলিট করার আগে স্টেজে থাকা ফাইলের অবস্থা যাচাই করে নেওয়া উচিত। প্রয়োজন হলে কমিট করার আগে সব পরিবর্তন সংরক্ষণ করো।
9. ব্রাঞ্চ তৈরি করা
ব্যাখ্যা:
git branch কমান্ড দিয়ে তুমি নতুন একটি ব্রাঞ্চ তৈরি করতে পারবে যেখানে স্বাধীনভাবে কাজ করা যায়। উদাহরণস্বরূপ, feature/update-navbar নামে একটি ব্রাঞ্চ তৈরি করা যেতে পারে।
সেরা অভ্যাস: ব্রাঞ্চের নাম এমনভাবে দেওয়া উচিত যাতে ব্রাঞ্চের কাজ সম্পর্কে স্পষ্ট ধারণা পাওয়া যায়।
10. ব্রাঞ্চ লিস্ট দেখা
ব্যাখ্যা: এই কমান্ড দিয়ে তোমার সব ব্রাঞ্চ দেখতে পারবে।
11. ব্রাঞ্চে সুইচ করা
ব্যাখ্যা:
এই কমান্ড দিয়ে তুমি এক ব্রাঞ্চ থেকে অন্য ব্রাঞ্চে সহজেই যেতে পারবে। এটা git checkout এর বিকল্প।
💡 সেরা অভ্যাস: ব্রাঞ্চ সুইচ করার আগে বর্তমান কাজ কমিট করে নাও যেন কোনো পরিবর্তন হারিয়ে না যায়।
12. মার্জ করা
ব্যাখ্যা:
মার্জ করার মাধ্যমে তুমি এক ব্রাঞ্চের কাজ অন্য ব্রাঞ্চে যুক্ত করতে পারো। যেমন, feature/update-navbar থেকে main ব্রাঞ্চে মার্জ করলে সেই কোড যোগ হবে।
সেরা অভ্যাস: মার্জ করার আগে নিশ্চিত হও যে, কোন ব্রাঞ্চে কোন পরিবর্তন যোগ হচ্ছে এবং তা সঠিকভাবে সমন্বয় করা হয়েছে কিনা।
13. ব্রাঞ্চ ডিলিট করা
ব্যাখ্যা: এই কমান্ড দিয়ে তুমি কোনো ব্রাঞ্চ মুছে ফেলতে পারবে। তবে আগে নিশ্চিত হয়ে নাও যে ঐ ব্রাঞ্চে প্রয়োজনীয় কোনো কাজ বাকি নেই।
14. ব্রাঞ্চের নাম পরিবর্তন করা
ব্যাখ্যা: এই কমান্ড দিয়ে তুমি কোনো ব্রাঞ্চের নাম পরিবর্তন করতে পারবে। নতুন ব্রাঞ্চের নাম এমন হতে হবে, যা তার কাজের সাথে সামঞ্জস্যপূর্ণ হয়।
15. গিট স্ট্যাস করা (আনকমিটেড কাজ গিটের ড্রাফট এ সেভ রাখা)
ব্যাখ্যা:
যদি তুমি কোনো কাজ করতে করতে হঠাৎ ব্রাঞ্চ পরিবর্তন করতে চাও, কিন্তু তোমার কাজ এখনও কমিট করার মতো পর্যায়ে না পৌঁছায়, তখন তুমি git stash ব্যবহার করতে পারো। এটি তোমার কাজ স্ট্যাশ করে রাখে, যেটা পরে পুনরুদ্ধার করা যায়।
সেরা অভ্যাস: স্ট্যাশে রাখা কাজের বিবরণ দিতে পারলে ভালো হয়, যেন পরে সহজে চেনা যায়।
16. গিট স্ট্যাশ লিস্ট চেক করা
ব্যাখ্যা: এই কমান্ড দিয়ে তুমি তোমার সমস্ত স্ট্যাশ করা কাজের তালিকা দেখতে পারবে।
17. গিটের স্ট্যাস এ কি কি সেভ রাখা হয়েছিল তা দেখতে
ব্যাখ্যা: এই কমান্ড দিয়ে তুমি স্ট্যাশে রাখা কাজের পরিবর্তনগুলো দেখতে পারবে।
18. স্ট্যাশ প্রয়োগ করা
ব্যাখ্যা:
তুমি git stash apply দিয়ে কোনো নির্দিষ্ট স্ট্যাশ পুনরায় কাজে লাগাতে পারো। আর git stash pop ব্যবহার করলে, স্ট্যাশে রাখা কাজ প্রয়োগ করা হবে এবং স্ট্যাশ থেকে সরিয়ে নেওয়া হবে।
19. কোন ফাইল ভুলবশত গিটে এড করে ফেললে বা কমিট করার পর যদি মনে হয় ফাইলটা গিট থেকে ইগনোর করতে হবে তাহলে:
ভুল ফাইল রিমুভ করা**
১ম স্টেপঃ
.gitignore ফাইল তৈরি করে তাতে ফাইলের নাম যোগ করা।
২য় স্টেপঃ
ব্যাখ্যা:
গিটের ট্র্যাক থেকে কোনো ভুল ফাইল সরানোর জন্য .gitignore এ তা উল্লেখ করতে হবে এবং এরপর git rm --cached কমান্ড চালিয়ে সেটিকে গিটের ট্র্যাক থেকে সরিয়ে ফেলতে হবে।
20. গিটহাব বা রিমোট রিপোজিটরিতে ফাইল এড করা বা পুশ করার জন্যঃ
১ম স্টেপঃ
ব্যাখ্যা: তোমার লোকাল রেপোকে রিমোট রেপোর সাথে যুক্ত করার জন্য প্রথমে এই কমান্ড ব্যবহার করতে হবে।
21. রিমোট রিপোজিটরি থেকে পুল করা
ব্যাখ্যা: এই কমান্ড দিয়ে রিমোট রিপোজিটরিতে করা পরিবর্তনগুলো তোমার লোকাল মেশিনে ডাউনলোড এবং মার্জ করতে পারো।