Git চিটশিট

গিট কমান্ডের বাংলা চিটশিট

কনফিগারেশন (Configuration)

ব্যবহারকারী তথ্য সেট করা

# গ্লোবাল ইউজার নেম সেট করুন
git config --global user.name "username"

# গ্লোবাল ইউজার ইমেইল সেট করুন
git config --global user.email "[email protected]"

# লোকাল রিপোজিটরির জন্য ইউজার নেম
git config user.name "username"

# লোকাল রিপোজিটরির জন্য ইউজার ইমেইল
git config user.email "[email protected]"

কনফিগারেশন বাতিল করা

# গ্লোবাল ইউজার নেম বাতিল করুন
git config --global --unset-all user.name

# গ্লোবাল ইউজার ইমেইল বাতিল করুন
git config --global --unset-all user.email

# লোকাল ইউজার নেম বাতিল করুন
git config --unset user.name

# লোকাল ইউজার ইমেইল বাতিল করুন
git config --unset user.email

কনফিগারেশন দেখা

# সব কনফিগারেশন দেখুন
git config --list

# নির্দিষ্ট কনফিগারেশন দেখুন
git config user.name
git config user.email

রিপোজিটরি তৈরি এবং ক্লোন

নতুন রিপোজিটরি

# নতুন রিপোজিটরি শুরু করুন
git init

# নির্দিষ্ট ফোল্ডারে রিপোজিটরি শুরু করুন
git init project-name

# রিমোট রিপোজিটরি ক্লোন করুন
git clone https://github.com/user/repo.git

# নির্দিষ্ট ফোল্ডারে ক্লোন করুন
git clone https://github.com/user/repo.git my-project

# শুধু নির্দিষ্ট ব্রাঞ্চ ক্লোন করুন
git clone -b branch-name https://github.com/user/repo.git

ফাইল ট্র্যাকিং এবং স্টেজিং

ফাইল অবস্থা দেখা

# রিপোজিটরির বর্তমান অবস্থা দেখুন
git status

# সংক্ষিপ্ত অবস্থা দেখুন
git status -s

# অগ্নোর ফাইল সহ দেখুন
git status --ignored

ফাইল যোগ এবং স্টেজিং

# নির্দিষ্ট ফাইল স্টেজ করুন
git add filename.txt

# সব ফাইল স্টেজ করুন
git add .

# নির্দিষ্ট টাইপের ফাইল স্টেজ করুন
git add *.js

# ইন্টারেক্টিভ স্টেজিং
git add -i

# প্যাচ স্টেজিং
git add -p

ফাইল আনস্টেজিং

# স্টেজ করা ফাইল আনস্টেজ করুন
git reset filename.txt

# সব স্টেজ করা ফাইল আনস্টেজ করুন
git reset

# নির্দিষ্ট কমিট থেকে আনস্টেজ করুন
git reset HEAD~1

কমিট (Commit)

কমিট তৈরি

# স্টেজ করা ফাইল কমিট করুন
git commit -m "commit message"

# সব ট্র্যাক করা ফাইল কমিট করুন (স্টেজ ছাড়াই)
git commit -am "commit message"

# কমিট মেসেজ এডিটর দিয়ে লিখুন
git commit

# কমিটের বিস্তারিত তথ্য যোগ করুন
git commit -m "commit message" -m "detailed description"

কমিট ইতিহাস

# কমিট ইতিহাস দেখুন
git log

# সংক্ষিপ্ত লগ দেখুন
git log --oneline

# গ্রাফ সহ লগ দেখুন
git log --graph --oneline

# নির্দিষ্ট সংখ্যক কমিট দেখুন
git log -5

# নির্দিষ্ট ফাইলের ইতিহাস দেখুন
git log filename.txt

কমিট পরিবর্তন

# শেষ কমিটের মেসেজ পরিবর্তন করুন
git commit --amend -m "new message"

# শেষ কমিটে ফাইল যোগ করুন
git add filename.txt
git commit --amend --no-edit

# কমিট আনডু করুন (কমিট বাতিল করুন)
git reset --soft HEAD~1

ব্রাঞ্চ (Branch)

ব্রাঞ্চ তৈরি এবং পরিবর্তন

# সব লোকাল ব্রাঞ্চ দেখুন
git branch

# সব ব্রাঞ্চ দেখুন (রিমোট সহ)
git branch -a

# নতুন ব্রাঞ্চ তৈরি করুন
git branch branch-name

# নতুন ব্রাঞ্চ তৈরি করে সেখানে যান
git checkout -b branch-name

# ব্রাঞ্চ পরিবর্তন করুন
git checkout branch-name

# পূর্ববর্তী ব্রাঞ্চে যান
git checkout -

ব্রাঞ্চ অপারেশন

# ব্রাঞ্চ মুছুন
git branch -d branch-name

# ফোর্স ব্রাঞ্চ মুছুন
git branch -D branch-name

# রিমোট ব্রাঞ্চ মুছুন
git push origin --delete branch-name

# ব্রাঞ্চ রিনেম করুন
git branch -m old-name new-name

মার্জ (Merge) এবং রিবেস (Rebase)

মার্জিং

# বর্তমান ব্রাঞ্চে অন্য ব্রাঞ্চ মার্জ করুন
git merge branch-name

# ফাস্ট-ফরওয়ার্ড মার্জ
git merge --ff-only branch-name

# নো-ফাস্ট-ফরওয়ার্ড মার্জ
git merge --no-ff branch-name

# মার্জ কনফ্লিক্ট রেজোলভ করুন
git add resolved-file.txt
git commit

রিবেসিং

# বর্তমান ব্রাঞ্চ রিবেস করুন
git rebase branch-name

# ইন্টারেক্টিভ রিবেস
git rebase -i HEAD~3

# রিবেস কন্টিনিউ করুন
git rebase --continue

# রিবেস বাতিল করুন
git rebase --abort

রিমোট রিপোজিটরি

রিমোট যোগ এবং দেখা

# রিমোট রিপোজিটরি যোগ করুন
git remote add origin https://github.com/user/repo.git

# সব রিমোট দেখুন
git remote -v

# রিমোট রিপোজিটরি দেখুন
git remote show origin

# রিমোট রিপোজিটরি মুছুন
git remote remove origin

পুশ এবং পুল

# রিমোটে পুশ করুন
git push origin branch-name

# প্রথমবার পুশ করুন
git push -u origin branch-name

# সব ব্রাঞ্চ পুশ করুন
git push --all origin

# রিমোট থেকে পুল করুন
git pull origin branch-name

# রিমোট ব্রাঞ্চ ফেচ করুন
git fetch origin

স্ট্যাশ (Stash)

স্ট্যাশ অপারেশন

# বর্তমান পরিবর্তন স্ট্যাশ করুন
git stash

# মেসেজ সহ স্ট্যাশ করুন
git stash save "stash message"

# স্ট্যাশ লিস্ট দেখুন
git stash list

# স্ট্যাশ প্রয়োগ করুন
git stash apply

# স্ট্যাশ প্রয়োগ করে মুছুন
git stash pop

# নির্দিষ্ট স্ট্যাশ প্রয়োগ করুন
git stash apply stash@{0}

# স্ট্যাশ মুছুন
git stash drop stash@{0}

# সব স্ট্যাশ মুছুন
git stash clear

ট্যাগ (Tag)

ট্যাগ তৈরি এবং ব্যবস্থাপনা

# লাইটওয়েট ট্যাগ তৈরি করুন
git tag tag-name

# অ্যানোটেটেড ট্যাগ তৈরি করুন
git tag -a tag-name -m "tag message"

# সব ট্যাগ দেখুন
git tag

# ট্যাগ রিমোটে পুশ করুন
git push origin tag-name

# সব ট্যাগ পুশ করুন
git push origin --tags

# ট্যাগ মুছুন
git tag -d tag-name

# রিমোট ট্যাগ মুছুন
git push origin --delete tag-name

ফাইল অপারেশন

ফাইল মুছে ফেলা

# ফাইল মুছুন এবং স্টেজ করুন
git rm filename.txt

# ফাইল মুছুন কিন্তু লোকালি রাখুন
git rm --cached filename.txt

# ফোল্ডার রিকার্সিভ মুছুন
git rm -r folder-name

ফাইল মুভ এবং রিনেম

# ফাইল মুভ/রিনেম করুন
git mv old-name.txt new-name.txt

# ফাইল অন্য ফোল্ডারে মুভ করুন
git mv file.txt folder/file.txt

অনুসন্ধান এবং ফিল্টার

কমিট অনুসন্ধান

# কমিট মেসেজ অনুসন্ধান করুন
git log --grep="search term"

# নির্দিষ্ট লেখক অনুসন্ধান করুন
git log --author="author name"

# তারিখ অনুযায়ী অনুসন্ধান করুন
git log --since="2023-01-01" --until="2023-12-31"

# ফাইলের পরিবর্তন অনুসন্ধান করুন
git log -S "search term"

ফাইল অনুসন্ধান

# ফাইলে পরিবর্তন অনুসন্ধান করুন
git log --follow filename.txt

# ফাইলের ব্লেম দেখুন
git blame filename.txt

# ফাইলের নির্দিষ্ট লাইনের ইতিহাস
git log -L 10,20:filename.txt

আদার কমান্ড

চেরি-পিক

# নির্দিষ্ট কমিট চেরি-পিক করুন
git cherry-pick commit-hash

# কমিট রেঞ্জ চেরি-পিক করুন
git cherry-pick start-commit..end-commit

সাবমডিউল

# সাবমডিউল যোগ করুন
git submodule add https://github.com/user/repo.git

# সাবমডিউল আপডেট করুন
git submodule update --init --recursive

# সাবমডিউল পুল করুন
git submodule update --remote

হুক এবং অটোমেশন

# প্রি-কমিট হুক তৈরি করুন
echo "#!/bin/sh" > .git/hooks/pre-commit
echo "npm test" >> .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit

টিপস এবং ট্রিকস

দরকারী শর্টকাট

# শেষ কমিটের হ্যাশ দেখুন
git rev-parse HEAD

# ব্রাঞ্চের শেষ কমিট দেখুন
git rev-parse branch-name

# রিমোট URL দেখুন
git config --get remote.origin.url

# গিট ভার্সন দেখুন
git --version

দরকারী অ্যালিয়াস

# অ্যালিয়াস তৈরি করুন
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit

# ব্যবহার করুন
git st
git co branch-name
git br
git ci -m "message"