ডেভেলপমেন্টে প্রতিদিনই আমাদের গিট নিয়ে কাজ করতে হয়। যে গিট কমান্ড গুলো সর্বদা ব্যবহৃত হয়, তার একটা লিস্ট এখানে সংক্ষিপ্ত বর্ননা সহ লেখার চেষ্টা করেছি। গিট ও গিটহাব সম্পর্কে জানতে এই লেখাটি পড়তে পারেনঃ গিট সম্পর্কে ধারণা, গিট ইন্সটল, ব্যবহার এবং গিটহাব এ একটা প্রজেক্ট পুশ করা.।
গিট কনফিগারেশন
$ git config
এই কমান্ড প্রজেক্ট অথরের নাম এবং ইমেইল সেট করে।
সব গুলো প্রজেক্টের জন্যঃ
$ git config –global user.name “[name]”
$ git config –global user.email “[email address]”
একটা নির্দিষ্ট প্রজেক্টের জন্যঃ
$ git config –local user.name “[name]”
$ git config –local user.email “[email address]”
গিট ইনিটিশিয়ালাইজ
$ git init
ক্লোন
$ git clone [url]
একটা রিমোট রিপোজিটরি থেকে লোকাল কম্পিউটারে কোন রিপোজিটরি নেওয়ার জন্য এই কমান্ড ব্যবহার করা হয়।
স্টেজিং এরিয়াতে ফাইল যুক্ত করা
সব গুলো ফাইল যুক্ত করতেঃ
$ git add .
একটা নির্দিষ্ট ফাইল যুক্ত করতেঃ
$ git add [file name]
কমিট
$ git commit -m “[commit message]”
এই কমান্ড পার্মানেন্টলি কোন ফাইলের পরিবর্তন গুলো রিপোজিটরে সেভ করে।
বিভিন্ন ভার্সনের মধ্যে পার্থক্য গুলো দেখা
ফাইলের এডিটিং পরিবর্তন গুলো দেখতেঃ
$ git diff
রিপোজিটোরির ফাইল গুলোর এডিটিং ভার্সন এবং স্ট্যাজিং এরিরার পার্থক্য গুলো দেখতে
$ git diff –staged
রিপোজিটোরির দুইটা ব্রাঞ্চের ফাইল গুলোর পার্থক্য গুলো দেখতে
$ git diff [first branch] [second branch]
গিট রিসেট
$ git reset [file]
একটা ফাইল স্টেজিং অবস্থায় থাকলে তা আনস্টেজ করে। এই কমান্ডে ঐ নির্দিষ্ট ফাইলের কন্টেন্ট গুলো পরিবর্তন করে না।
$ git reset [commit]
এই কমান্ড ব্যবহার করলে নির্দিষ্ট কমিটে ফিরে যায় কিন্তু রিপোজিটোরির পরিবর্তন গুলো লোকালি রেখে দেয়।
$ git reset –hard [commit]
এই রিসেট কমান্ড ব্যবহার করলে নির্দিষ্ট কমিটে ফিরে যায় এবং রিপোজিটোরির পরিবর্তন গুলোও রিসেট করে ঐ নির্দিষ্ট কমিটে সেট করে দেয়।
গিট স্ট্যাটাস
$ git status
রিপোজিটরি কি অবস্থায় রয়েছে, সে তথ্য দেখাবে। কোন কোন ফাইল কমিট করতে হবে, সেগুলো দেখাবে।
গিট রিমুভ
$ git rm [file]
এই কমান্ড ব্যবহার করে ওয়ার্কিং ডিরেক্টরি থেকে একটা ফাইল রিমুভ করা হয়।
গিট লগ
$ git log
এই কমান্ড দিয়ে আমরা যে ব্রাঞ্চে রয়েছি, ঐ ব্রাঞ্চের ভার্সন হিস্টরি দেখতে পারব।
$ git log –follow[file]
একটা নির্দিষ্ট ফাইলের ভার্সন হিস্টরি দেখতে এই কমান্ড ব্যবহার করা হয়।
git show
$ git show [commit]
একটা কমিটের মেটাডেটা এবং এর পরিবর্তন গুলো দেখতে ব্যবহৃত হয়।
git tag
$ git tag [commitID]
একটা কমিটে ট্যাগ দিতে এই কমান্ড ব্যবহৃত হয়।
গিট ব্রাঞ্চ
$ git branch
রিপোজিটরির ব্রাঞ্চ গুলোর লিস্ট দেখাবে।
$ git branch [branch name]
এই কমান্ড দিয়ে নতুন ব্রাঞ্চ তৈরি করা হয়
$ git branch -d [branch name]
এই কমান্ড দিয়ে একটা ব্রাঞ্চ ডিলেট করা হয়।
গিট চেকআউট
$ git checkout [branch name]
একটা ব্রাঞ্চে সুইচ করতে ব্যবহৃত হয়।
$ git checkout -b [branch name]
একটা নতুন ব্রাঞ্চ তৈরি করে ঐ ব্রাঞ্চে সুইচ করতে ব্যবহৃত হয়।
গিট মার্জ
$ git merge [branch name]
বর্তমানে থাকা ব্রাঞ্চের সাথে কমান্ডে ব্যবহৃত ব্রাঞ্চ মার্জ করে।
গিট রিমোট
$ git remote add [variable name] [Remote Server Link]
লোকাল রিপোজিটোরির সাথে রিমোট রিপোজিটরি যুক্ত করতে ব্যবহৃত হয়।
গিট পুশ
$ git push [variable name] master
এই কমান্ড ব্যবহার করে লোকাল রিপোজিটোরির মাস্টার ব্রাঞ্চের পরিবর্তন গুলো রিমোট রিপোজিটোরিতে পাঠায়।
$ git push [variable name] [branch]
এই কমান্ড দিয়ে নির্দিষ্ট ব্রাঞ্চের পরিবর্তন গুলো রিমোট ব্রাঞ্চে পাঠায়।
$ git push –all [variable name]
এই কমান্ড দিয়ে লোকাল রিপোজিটোরির সকল ব্রাঞ্চের পরিবর্তন গুলো রিমোট রিপোজিটোরিতে পাঠায়।
$ git push [variable name] :[branch name]
রিমোট রিপোজিটরির একটা ব্রাঞ্চ রিমুভ করতে এই কমান্ড ব্যবহৃত হয়।
গিট পুল
$ git pull [Repository Link]
ওয়ার্কিং ডিরেক্টরির সাথে রিমোট রিপোজিটরি থেকে পরিবর্তন গুলো নিয়ে মার্জ করে।
গিট স্ট্যাস
$ git stash save
সাময়িক ভাবে মডিফাইড ফাইল গুলো স্টোর করে রাখতে এই কমান্ড ব্যবহৃত হয়।
$ git stash pop
সর্বশেষ স্ট্যাস করা পরিবর্তন গুলো রিস্টোর করে
$ git stash list
সকল স্ট্যাস এর লিস্ট দেখা
$ git stash drop
সর্বশেষ স্ট্যাস করা পরিবর্তন গুলো বাদ দিতে এই কমান্ড ব্যহৃত হয়।
Nice post