Table of contents
আজকের এই ছোট্ট হ্যান্ড নোট টি একটু স্পেশাল । কারণ একজন ডেভেলপারের প্রতিদিনের সঙ্গী হচ্ছে এই গিট বা গিটহাব । এখানে আমি কিছু কমান্ড নিয়ে নোট করেছি চাইলে আপনি ফলো করে আপনাকে ঝালিয়ে নিতে পারেন ।
Basics
-- git initialtizayion
git init
git add hello.txt --to stage specific file
git commit -m "your message"
-------------- to show git status. (git status)--------------
git status
-------------- to show git log. (git log)--------------
git log -- it's show your commits
কোণ স্পেছিফিক কমিট দেখতে চাইলে অর্থাৎ এখানে কি কি করা হয়েছিল commit Id এ সাহায্যে
-- command
git show commit_id
যদি আপনি কমিটের difference দেখতে চান তাহলে
-- command
git diff
যদি difference না থাকে তাহলে কিছু দেখাবে না । আর যদি দেখতেই চান কি কি stage করা হয়েছে তাহলে এই কমান্ড দিতে হবে ।
// command
git diff --stage
// কোণ স্পেছিফিক কমিট ID দিয়ে difference দেখতে চাইলে
git diff commit_id commit_id
👆👆👆. 👆👆👆
to delete an file and clean the file log
--command
git rm hello.txt
ধরুন আমাদের অনেক অনেক কোড করে ফেললাম কিন্তু পড়ে মনে হল এগুলোর কোণ দরকার ছিল না বা বাগ আছে কোড গুলোতে । এঁর চাইতে আমাদের আগের কোড এ ঠিক ছিল । এবং আগের কোড গুলোই লকজনের কাছে ছড়িয়ে দিব তাহলে সেটা কিভাবে করতে পারি ?
-- command
git checkout commit_id file_name_with_ext
-- আর যদি সেখানেই ব্যাক করতে চান ।
git checkout commit_id file_name
Branching
to see which branch you are in right now.
git branch
to create a new Branch
-- creating new branch command
git branch branch_name
how to swhitch branch
git checkout branch_name
-- মনে করার কোণ কারণ নেই যে যেখান থেকে branch সুয়িচ করছেন সেখানের কোড replace হবে । ফাইল একই হলেও যদি ব্রাঞ্চ আলাদা হয় তাহলে ব্রাঞ্চ অনুযায়ী চেঞ্জেস গুলো ট্রাকড রাখবে ।
Marge
এই যে আমরা ব্রাঞ্চ নিয়ে কাজ করলাম । ব্রাঞ্চ এঁর কোড ঠিকমত কাজ করলেতো টাকে মাস্টের/মেইন ব্রাঞ্চে অ্যাড করতে হবে । এটাই মূলত করে এই marge. এটা করার পূর্বে কিছু স্টেপ আপনাকে ফলো করতে হবে ।
১। যেই ব্রাঞ্চের সাথে marge করতে চাচ্ছেন সেখান শিফট করুন
-- marging command
git marge branch_name -- ধরুন এখানে আমরা মেইন ব্রাঞ্চের সাথে branch_name কে marge করতে চাচ্ছি
এই হয়ে গেল সিম্পল একটা কমান্ডের মাধ্যমে marge করা । যদি autometic marge না হয়ে failed হয় বা marge conflict হয়ে যায় তাহলে এটাকে ম্যানুয়ালি হ্যান্ডল করতে পারেন । VS CODE editor মাধদমে আমরা সমাধান করব আপাতত । কোড গুলোকে accept করে নিব , যদি ঠিক থাকে । যেহেতু এটা manual process তাই যেই ব্রাঞ্চে marge করলাম টাকে git add commit -m "message" করতে হবে .
একবারে ব্রাঞ্চ তৈরি করে সেখানে সুয়িচ করতে চাইলে
--- command
git checkout -b another_branch_name
Fork and pull
এঁর জন্য আপনার দরকার হবে অন্য একজনের গিট রেপো । সেই রেপকে আপনাকে প্রথমে fork করে নিতে হবে । এতে করে আপনার রিপোতে সেই সেম প্রজেক্টটা চলে আসবে । আপনি এখন এই রিপোটা ক্লোন করবেন আপনার লোকাল পিসি তে । এবং কোড করা শেষে সেখানেই কোড পুশ করবেন । তারপর আপনার fork রিপোতে গিয়ে পুল রিকুয়েস্ট accept করবেন । তাহলে যার গিটহাব থেকে রিপোটি fork করেছিলেন সে নোটিফিকেশান পাবে । সে যদি কোড রিভিউ করে dicide করবে যে কোড অ্যাড করবে নাকি করবে না ।