Skip to content

Latest commit

 

History

History
677 lines (462 loc) · 24.9 KB

File metadata and controls

677 lines (462 loc) · 24.9 KB

Git Cheat Sheet বাংলা

Git Logo

সবচেয়ে বেশি ব্যবহৃত Git কমান্ডগুলির একটি দ্রুত রেফারেন্স গাইড, সহজ ব্যবহারের জন্য বিভাগ অনুযায়ী সংগঠিত।


📖 এই গাইড সম্পর্কে

এই Git রেফারেন্স গাইডটি একটি সম্পূর্ণ রেফারেন্স যা Git এর সাথে কাজের প্রবাহ উন্নত করতে চান এমন সবার জন্য। যারা Git এর সাথে তাদের যাত্রা শুরু করছেন এমন শিক্ষানবিস থেকে শুরু করে অভিজ্ঞ ডেভেলপারদের জন্য, এই গাইডটি আপনার ডেভেলপমেন্ট যাত্রাকে ত্বরান্বিত করতে সংগঠিত এবং শ্রেণীবদ্ধ কমান্ড প্রদান করে।

মূল বৈশিষ্ট্য:

  • সংগঠিত বিভাগ: কমান্ডগুলি স্পষ্ট এবং যৌক্তিক গ্রুপে সাজানো
  • ব্যবহারিক উদাহরণ: বাস্তব বিশ্বের ব্যবহারের ক্ষেত্রে সহ
  • শিক্ষানবিস-বান্ধব: স্পষ্ট ব্যাখ্যা এবং টিপস সহ
  • দ্রুত রেফারেন্স: প্রয়োজনীয় কমান্ডগুলিতে দ্রুত অ্যাক্সেস

📑 সূচিপত্র


🔧 প্রাথমিক সেটআপ

আপনার ব্যক্তিগত তথ্য দিয়ে Git কনফিগার করুন:

# ব্যবহারকারীর নাম সেট করুন
git config --global user.name "আপনার নাম"

# ইমেইল সেট করুন
git config --global user.email "email@example.com"

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

# ডিফল্ট এডিটর সেট করুন
git config --global core.editor "nano"

# মার্জ টুল সেট করুন
git config --global merge.tool vimdiff

⚙️ কনফিগারেশন ফাইল

Git ব্যবহারকারী এবং রিপোজিটরি পছন্দ সংরক্ষণের জন্য কনফিগারেশন ফাইল ব্যবহার করে:

কনফিগারেশন স্তর:

# সিস্টেম (সব ব্যবহারকারী)
git config --system

# ব্যবহারকারী (বর্তমান ব্যবহারকারী)
git config --global

# রিপোজিটরি (নির্দিষ্ট প্রকল্প)
git config --local

সাধারণ কনফিগারেশন:

# ব্যবহারকারীর পরিচয়
git config --global user.name "আপনার নাম"
git config --global user.email "email@example.com"

# টেক্সট এডিটর
git config --global core.editor nano

# মার্জ টুল
git config --global merge.tool vimdiff

# আউটপুটে রঙ
git config --global color.ui auto

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

📁 রিপোজিটরি সেটআপ

নতুন রিপোজিটরি তৈরি করুন:

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

# বিদ্যমান রিপোজিটরি ক্লোন করুন
git clone <রিপোজিটরি-url>

# নির্দিষ্ট ডিরেক্টরিতে ক্লোন করুন
git clone <রিপোজিটরি-url> <ডিরেক্টরি-নাম>

📊 স্ট্যাটাস কমান্ড

আপনার রিপোজিটরির অবস্থা পরীক্ষা করুন:

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

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

# ট্র্যাক না করা ফাইল উপেক্ষা করে অবস্থা দেখুন
git status --ignored

# পরিবর্তিত ফাইলের পার্থক্য দেখুন
git diff

# স্টেজিং এরিয়ার পার্থক্য দেখুন
git diff --staged

# ব্রাঞ্চের মধ্যে পার্থক্য দেখুন
git diff <ব্রাঞ্চ১> <ব্রাঞ্চ২>

📝 ফাইল ম্যানেজমেন্ট

ফাইল যোগ এবং অপসারণ:

# নির্দিষ্ট ফাইল স্টেজিং এরিয়ায় যোগ করুন
git add <ফাইল>

# সব পরিবর্তিত ফাইল যোগ করুন
git add .

# নির্দিষ্ট ধরনের সব ফাইল যোগ করুন
git add *.txt

# ইন্টারঅ্যাক্টিভভাবে যোগ করুন
git add -i

# রিপোজিটরি এবং ওয়ার্কিং ডিরেক্টরি থেকে ফাইল মুছুন
git rm <ফাইল>

# শুধু রিপোজিটরি থেকে ফাইল মুছুন (ডিরেক্টরিতে রাখুন)
git rm --cached <ফাইল>

# ফাইল সরান/নাম পরিবর্তন করুন
git mv <উৎস-ফাইল> <গন্তব্য-ফাইল>

💾 কমিট

রিপোজিটরিতে পরিবর্তন সংরক্ষণ করুন:

# বার্তা সহ কমিট করুন
git commit -m "কমিট বার্তা"

# সব পরিবর্তিত ফাইল যোগ করে কমিট করুন
git commit -am "কমিট বার্তা"

# শেষ কমিট সংশোধন করুন
git commit --amend

# খালি কমিট করুন (CI/CD ট্রিগারের জন্য উপযোগী)
git commit --allow-empty -m "CI ট্রিগার"

# বিস্তারিত বার্তা সহ কমিট করুন (এডিটর খুলবে)
git commit

🌿 ব্রাঞ্চ

ব্রাঞ্চের সাথে কাজ করুন:

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

# রিমোট ব্রাঞ্চ দেখুন
git branch -r

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

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

# ব্রাঞ্চ পরিবর্তন করুন
git checkout <ব্রাঞ্চ-নাম>

# নতুন ব্রাঞ্চ তৈরি করে সুইচ করুন
git checkout -b <ব্রাঞ্চ-নাম>

# নির্দিষ্ট কমিট থেকে ব্রাঞ্চ তৈরি করুন
git checkout -b <ব্রাঞ্চ-নাম> <কমিট-হ্যাশ>

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

# জোর করে ব্রাঞ্চ মুছুন
git branch -D <ব্রাঞ্চ-নাম>

# বর্তমান ব্রাঞ্চের নাম পরিবর্তন করুন
git branch -m <নতুন-নাম>

# নির্দিষ্ট ব্রাঞ্চের নাম পরিবর্তন করুন
git branch -m <পুরানো-নাম> <নতুন-নাম>

🔀 মার্জ

ব্রাঞ্চের মধ্যে পরিবর্তন মার্জ করুন:

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

# ফাস্ট-ফরওয়ার্ড ছাড়া মার্জ করুন (মার্জ কমিট তৈরি করুন)
git merge --no-ff <ব্রাঞ্চ-নাম>

# শুধু ফাস্ট-ফরওয়ার্ড হলে মার্জ করুন
git merge --ff-only <ব্রাঞ্চ-নাম>

# চলমান মার্জ বাতিল করুন
git merge --abort

# কনফ্লিক্ট সমাধানের পর মার্জ চালিয়ে যান
git merge --continue

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

রিমোট রিপোজিটরি পরিচালনা:

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

# URL সহ রিমোট রিপোজিটরি দেখুন
git remote -v

# রিমোট রিপোজিটরি যোগ করুন
git remote add <নাম> <url>

# রিমোট রিপোজিটরির URL পরিবর্তন করুন
git remote set-url <নাম> <নতুন-url>

# রিমোট রিপোজিটরি মুছুন
git remote remove <নাম>

# রিমোট রিপোজিটরিতে পরিবর্তন পুশ করুন
git push <রিমোট> <ব্রাঞ্চ>

# ব্রাঞ্চ পুশ করে ট্র্যাকিং সেট করুন
git push -u <রিমোট> <ব্রাঞ্চ>

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

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

# রিমোট রিপোজিটরি থেকে পরিবর্তন ডাউনলোড করুন
git pull <রিমোট> <ব্রাঞ্চ>

# মার্জ ছাড়া পরিবর্তন ডাউনলোড করুন
git fetch <রিমোট>

# সব রিমোট ব্রাঞ্চ ডাউনলোড করুন
git fetch --all

📚 হিস্ট্রি এবং লগ

কমিট ইতিহাস অন্বেষণ করুন:

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

# প্রতি কমিটের জন্য এক লাইনে ইতিহাস দেখুন
git log --oneline

# গ্রাফ সহ ইতিহাস দেখুন
git log --graph

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

# কমিট পরিসংখ্যান দেখুন
git log --stat

# প্রতি কমিটের পরিবর্তন দেখুন
git log -p

# শেষ N কমিট দেখুন
git log -n <সংখ্যা>

# তারিখের মধ্যে কমিট দেখুন
git log --since="2023-01-01" --until="2023-12-31"

# লেখক অনুযায়ী কমিট দেখুন
git log --author="লেখকের নাম"

# কমিট বার্তায় অনুসন্ধান করুন
git log --grep="কীওয়ার্ড"

🔍 অনুসন্ধান

ইতিহাস এবং বিষয়বস্তুতে অনুসন্ধান:

# কমিট বার্তায় অনুসন্ধান করুন
git log --grep="কীওয়ার্ড"

# কোডের পরিবর্তনে অনুসন্ধান করুন
git log -S "কোডের অংশ"

# কাজের ফাইলে অনুসন্ধান করুন
git grep "প্যাটার্ন"

# নির্দিষ্ট কমিটে অনুসন্ধান করুন
git grep "প্যাটার্ন" <কমিট-হ্যাশ>

# বড়/ছোট হাতের অক্ষর উপেক্ষা করে অনুসন্ধান
git grep -i "প্যাটার্ন"

# পূর্ণ শব্দ অনুসন্ধান
git grep -w "শব্দ"

# লাইন নম্বর দেখান
git grep -n "প্যাটার্ন"

📁 সরানো/নাম পরিবর্তন

ফাইল সরানো এবং নাম পরিবর্তন:

# ফাইলের নাম পরিবর্তন করুন
git mv পুরানো_নাম.txt নতুন_নাম.txt

# ফাইল ফোল্ডারে সরান
git mv ফাইল.txt ফোল্ডার/

# ফোল্ডারের নাম পরিবর্তন করুন
git mv পুরানো_ফোল্ডার নতুন_ফোল্ডার

# git mv ছাড়া নাম পরিবর্তনের প্রক্রিয়া
mv পুরানো_নাম.txt নতুন_নাম.txt
git add নতুন_নাম.txt
git rm পুরানো_নাম.txt

# লগে নাম পরিবর্তন খুঁজুন
git log --follow ফাইল.txt

# সরানো ট্র্যাক করুন
git log --stat -M

🏷️ ট্যাগ

ভার্সন ট্যাগ পরিচালনা:

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

# হালকা ট্যাগ তৈরি করুন
git tag <ট্যাগ-নাম>

# টীকাযুক্ত ট্যাগ তৈরি করুন
git tag -a <ট্যাগ-নাম> -m "ট্যাগ বার্তা"

# নির্দিষ্ট কমিটে ট্যাগ তৈরি করুন
git tag -a <ট্যাগ-নাম> <কমিট-হ্যাশ>

# ট্যাগের তথ্য দেখুন
git show <ট্যাগ-নাম>

# লোকাল ট্যাগ মুছুন
git tag -d <ট্যাগ-নাম>

# রিমোট ট্যাগ মুছুন
git push --delete <রিমোট> <ট্যাগ-নাম>

# নির্দিষ্ট ট্যাগ পুশ করুন
git push <রিমোট> <ট্যাগ-নাম>

# সব ট্যাগ পুশ করুন
git push <রিমোট> --tags

↩️ পরিবর্তন পূর্বাবস্থায় ফেরানো

পরিবর্তন ফিরিয়ে আনুন:

# নির্দিষ্ট ফাইলের পরিবর্তন বাতিল করুন
git checkout <ফাইল>

# সব অকমিট পরিবর্তন বাতিল করুন
git checkout .

# নির্দিষ্ট ভার্সনে ফাইল ফিরিয়ে আনুন
git checkout <কমিট-হ্যাশ> <ফাইল>

# স্টেজিং এরিয়া থেকে ফাইল সরান
git reset <ফাইল>

# স্টেজিং এরিয়া থেকে সব ফাইল সরান
git reset

# পূর্ববর্তী কমিটে ফিরে যান (পরিবর্তন রাখুন)
git reset --soft HEAD~1

# পূর্ববর্তী কমিটে ফিরে যান (পরিবর্তন বাতিল করুন)
git reset --hard HEAD~1

# নির্দিষ্ট কমিটে ফিরে যান
git reset --hard <কমিট-হ্যাশ>

# অন্য কমিট বাতিল করে নতুন কমিট তৈরি করুন
git revert <কমিট-হ্যাশ>

# একাধিক কমিট বাতিল করুন
git revert <হ্যাশ-থেকে>..<হ্যাশ-পর্যন্ত>

📦 স্ট্যাশ

অস্থায়ীভাবে কাজ সংরক্ষণ করুন:

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

# বর্ণনামূলক বার্তা সহ সংরক্ষণ করুন
git stash save "বর্ণনামূলক বার্তা"

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

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

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

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

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

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

# স্ট্যাশের পরিবর্তন দেখুন
git stash show stash@{0}

# স্ট্যাশ থেকে ব্রাঞ্চ তৈরি করুন
git stash branch <ব্রাঞ্চ-নাম> stash@{0}

🌊 Git Flow

Git Flow একটি ব্রাঞ্চিং মডেল যা প্রজেক্ট রিলিজের চারপাশে ডিজাইন করা কঠোর ওয়ার্কফ্লো সংজ্ঞায়িত করে।

মূল ব্রাঞ্চ:

  • master/main: প্রোডাকশন কোড
  • develop: মূল ডেভেলপমেন্ট ব্রাঞ্চ

সাপোর্ট ব্রাঞ্চ:

  • feature: নতুন ফিচারের জন্য
  • release: নতুন ভার্সন প্রস্তুতির জন্য
  • hotfix: প্রোডাকশনে জরুরি সংশোধনের জন্য

Git Flow কমান্ড:

# git flow শুরু করুন
git flow init

# নতুন ফিচার শুরু করুন
git flow feature start <ফিচার-নাম>

# ফিচার শেষ করুন
git flow feature finish <ফিচার-নাম>

# ফিচার প্রকাশ করুন
git flow feature publish <ফিচার-নাম>

# রিলিজ শুরু করুন
git flow release start <ভার্সন>

# রিলিজ শেষ করুন
git flow release finish <ভার্সন>

# হটফিক্স শুরু করুন
git flow hotfix start <ভার্সন>

# হটফিক্স শেষ করুন
git flow hotfix finish <ভার্সন>

Git Flow ছাড়া ওয়ার্কফ্লো:

Git Flow Commands

# ফিচার ব্রাঞ্চ তৈরি করুন
git checkout develop
git checkout -b feature/নতুন-ফিচার

# ফিচারে কাজ করুন
git add .
git commit -m "নতুন ফিচার যোগ করুন"

# develop এ ফিচার মার্জ করুন
git checkout develop
git merge --no-ff feature/নতুন-ফিচার
git branch -d feature/নতুন-ফিচার

# রিলিজ ব্রাঞ্চ তৈরি করুন
git checkout develop
git checkout -b release/1.0.0

# রিলিজ সম্পন্ন করুন
git checkout master
git merge --no-ff release/1.0.0
git tag -a 1.0.0 -m "ভার্সন 1.0.0"
git checkout develop
git merge --no-ff release/1.0.0
git branch -d release/1.0.0

💡 উপযোগী টিপস

উপযোগী অ্যালিয়াস:

# উপযোগী অ্যালিয়াস সেট করুন
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 config --global alias.unstage 'reset HEAD --'
git config --global alias.last 'log -1 HEAD'
git config --global alias.visual '!gitk'

.gitignore ফাইল:

# .gitignore ফাইল তৈরি করুন
echo "node_modules/" >> .gitignore
echo "*.log" >> .gitignore
echo ".env" >> .gitignore

# ইতিমধ্যে ট্র্যাক করা ফাইল উপেক্ষা করুন
git rm --cached <ফাইল>
echo "<ফাইল>" >> .gitignore
git add .gitignore
git commit -m ".gitignore এ ফাইল যোগ করুন"

🌍 অন্যান্য ভাষা

এই Git চিট শিট নিম্নলিখিত ভাষায় উপলব্ধ:


🤝 অবদান

আমরা অবদানকে স্বাগত জানাই! এই প্রকল্পটি উন্নত করতে সাহায্য করুন:

  1. সমস্যা রিপোর্ট করুন: ত্রুটি বা উন্নতির পরামর্শ শেয়ার করুন
  2. নতুন ভাষা যোগ করুন: অনুবাদ তৈরি করুন বা বিদ্যমান উন্নত করুন
  3. বিষয়বস্তু উন্নত করুন: নতুন কমান্ড, উদাহরণ বা ব্যাখ্যা যোগ করুন
  4. প্রতিক্রিয়া দিন: আপনার অভিজ্ঞতা এবং পরামর্শ শেয়ার করুন

কিভাবে অবদান রাখবেন:


📄 লাইসেন্স

এই প্রকল্পটি MIT লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত। বিস্তারিত জানতে LICENSE ফাইল দেখুন।


📖 অতিরিক্ত সম্পদ


⭐ এই চিট শিট যদি উপকারী হয় তাহলে এটিকে স্টার দিন!
Git এর সাথে হ্যাপি কোডিং! 🚀