এই লাইনের কোনটি সঠিক?
git checkout 'another_branch'
অথবা
git checkout origin 'another_branch'
অথবা
git checkout origin/'another_branch'
git checkout 'another_branch'
অথবা
git checkout origin 'another_branch'
অথবা
git checkout origin/'another_branch'
উত্তর:
যদি another_branch
ইতিমধ্যে স্থানীয়ভাবে উপস্থিত থাকে এবং আপনি এই শাখায় না git checkout another_branch
থেকে থাকেন তবে শাখায় স্যুইচ করুন।
যদি another_branch
না থাকে তবে origin/another_branch
থাকে তবে git checkout another_branch
তার সমতুল্য git checkout -b another_branch origin/another_branch; git branch -u origin/another_branch
। এটি থেকে তৈরি another_branch
করা origin/another_branch
এবং origin/another_branch
এর প্রবাহ হিসাবে সেট করা another_branch
।
যদি না থাকে তবে git checkout another_branch
ত্রুটি প্রদান করে।
git checkout origin another_branch
বেশিরভাগ ক্ষেত্রে ত্রুটি প্রদান করে। যদি origin
একটি সংশোধন হয় এবং another_branch
একটি ফাইল হয়, তবে এটি সেই সংশোধনের ফাইলটি পরীক্ষা করে তবে সম্ভবত এটি আপনি প্রত্যাশা করেন না not origin
বেশিরভাগ ক্ষেত্রে ব্যবহৃত হয় git fetch
, git pull
এবং git push
রিমোট হিসাবে, দূরবর্তী সংগ্রহস্থলের ইউআরএলের একটি উপন্যাস।
git checkout origin/another_branch
origin/another_branch
উপস্থিত থাকলে সফল হয় এটি কোনও শাখায় নয়, বিচ্ছিন্ন হেড অবস্থায় থাকতে পারে। আপনি যদি নতুন কমিট করেন তবে নতুন কমিটগুলি বিদ্যমান বিদ্যমান শাখা থেকে পৌঁছনীয় নয় এবং কোনও শাখা আপডেট করা হবে না।
আপডেট :
২.২৩.০ যেমন প্রকাশিত হয়েছে, এর সাথে আমরা git switch
শাখা তৈরি ও স্যুইচ করতেও ব্যবহার করতে পারি ।
যদি foo
উপস্থিত থাকে তবে এটিকে স্যুইচ করার চেষ্টা করুন foo
:
git switch foo
যদি foo
উপস্থিত না থাকে এবং origin/foo
বিদ্যমান না থাকে তবে foo
থেকে তৈরি করার চেষ্টা করুন origin/foo
এবং তারপরে স্যুইচ করুন foo
:
git switch -c foo origin/foo
# or simply
git switch foo
আরও সাধারণভাবে, যদি foo
উপস্থিত না থাকে তবে foo
একটি পরিচিত রেফ বা প্রতিশ্রুতি থেকে তৈরি করার চেষ্টা করুন এবং তারপরে স্যুইচ করুন foo
:
git switch -c foo <ref>
git switch -c foo <commit>
যদি আমরা একই সময়ে গীতলাব এবং গিথুবগুলিতে একটি সংগ্রহস্থল বজায় রাখি তবে স্থানীয় সংগ্রহস্থলের দুটি রিমোট থাকতে পারে, উদাহরণস্বরূপ, origin
গিটলব এবং গিথাবের github
জন্য। এক্ষেত্রে সংগ্রহস্থলের রয়েছে origin/foo
এবং github/foo
। git switch foo
অভিযোগ করবে fatal: invalid reference: foo
, কারণ এটি কোন রেফ, origin/foo
বা github/foo
, থেকে তৈরি করা যায় তা জানা নেই foo
। প্রয়োজনের সাথে git switch -c foo origin/foo
বা git switch -c foo github/foo
অনুযায়ী আমাদের এটি নির্দিষ্ট করা দরকার। যদি আমরা উভয় প্রত্যন্ত শাখা থেকে শাখা তৈরি করতে চাই, তবে নতুন শাখাগুলির জন্য আলাদা আলাদা নাম ব্যবহার করা ভাল:
git switch -c gitlab_foo origin/foo
git switch -c github_foo github/foo
যদি foo
উপস্থিত থাকে তবে একটি পরিচিত রেফ বা প্রতিশ্রুতি foo
থেকে পুনরায় তৈরি / জোর করে তৈরি করার চেষ্টা করুন (এবং পুনরায় সেট foo
করুন) এবং তারপরে স্যুইচ করুন foo
:
git switch -C foo <ref>
git switch -C foo <commit>
যা সমান:
git switch foo
git reset [<ref>|<commit>] --hard
পরিচিত রেফ বা প্রতিশ্রুতিবদ্ধতার পৃথক হেডে স্যুইচ করার চেষ্টা করুন:
git switch -d <ref>
git switch -d <commit>
আপনি যদি কেবল একটি শাখা তৈরি করতে চান তবে এটিতে স্যুইচ না করে, git branch
পরিবর্তে ব্যবহার করুন। পরিচিত রেফ বা প্রতিশ্রুতিবদ্ধ থেকে একটি শাখা তৈরি করার চেষ্টা করুন:
git branch foo <ref>
git branch foo <commit>
git checkout
কমান্ডটি আমার মতে অনেকগুলি কাজ করে। এজন্য এখানে অপারেশন করার অনেকগুলি পদ্ধতি রয়েছে। যদি শুধুমাত্র জিনিস git checkout
নি সুইচ শাখা, উত্তর সহজ হবে, কিন্তু এটি করতে পারেন তৈরি শাখা, এবং এমনকি নির্দিষ্ট করে থেকে ফাইল নিষ্কর্ষ ছাড়া শাখা স্যুইচ করা হচ্ছে।
git switch
একটি শাখায় স্যুইচ করতে ব্যবহার করতে পারেন।
git checkout
পরিবর্তে পুরানো সংস্করণগুলির জন্য ব্যবহার করুন যা আধুনিক সংস্করণগুলিতেও কাজ করে।
গিটে অন্য একটি শাখায় স্যুইচ করা। সোজা উত্তর,
গিট-চেকআউট - শাখাগুলি স্যুইচ করুন বা কার্যকারী ট্রি ফাইলগুলি পুনরুদ্ধার করুন
git fetch origin <----this will fetch the branch
git checkout branch_name <--- Switching the branch
শাখাটি স্যুইচ করার আগে নিশ্চিত হয়ে নিন যে আপনার কোনও সংশোধিত ফাইল নেই, সেক্ষেত্রে আপনি পরিবর্তনগুলি সম্পাদন করতে পারেন বা আপনি এটি স্ট্যাশ করতে পারেন।
[ git checkout "branch_name"
]
বলার আরেকটি উপায়:
[ git checkout -b branch_name origin/branch_name
]
যদি "ব্রাঞ্চ_নাম" কেবলমাত্র দূরবর্তীভাবে উপস্থিত থাকে ।
[ git checkout -b branch_name origin/branch_name
] আপনার একাধিক রিমোট থাকলে ক্ষেত্রে দরকারী।
সম্পর্কিত [ git checkout origin 'another_branch'
] আমি নিশ্চিত যে এটি সম্ভব, আফাক আপনি "আনুন" কমান্ড ব্যবহার করে এটি করতে পারেন - [ git fetch origin 'another_branch'
]
দৈনন্দিন জীবনে কাজের কার্যকর আদেশ:
git checkout -b "branchname" -> creates new branch
git branch -> lists all branches
git checkout "branchname" -> switches to your branch
git push origin "branchname" -> Pushes to your branch
git add */filename -> Stages *(All files) or by given file name
git commit -m "commit message" -> Commits staged files
git push -> Pushes to your current branch
আপনি যদি ব্রাঞ্চটি দূরবর্তী শাখাকে ট্র্যাক করতে চান যা আপনি খুব ভালভাবে আমদানি করে যদি আপনি ব্রাঞ্চে পরিবর্তন আনতে এবং পরিবর্তনগুলি টানতে চলে যান তবে আপনাকে প্রকৃত চেকআউটের জন্য অ্যাড-টি ব্যবহার করতে হবে যেমন:
git checkout -t branchname
চেক করুন: git branch -a
যদি আপনি কেবল একটি শাখা পাচ্ছেন। তারপরে নীচের পদক্ষেপগুলি করুন।
git config --list
git config --unset remote.origin.fetch
git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
depth
) করেছিলেন তখন এটি করতে কার্যকর হতে পারে এবং এখন আপনি কেন আশ্চর্য হবেন যে আপনি error: pathspec 'another_branch' did not match any file(s) known to git
উপরে উল্লিখিত আদেশগুলি ব্যবহার করে অন্য দূরবর্তী শাখা কেন আনতে পারবেন না । এটি অবশ্যই আসল প্রশ্নটি সম্পর্কে নয় তবে এটি অন্যদের এখানে মাথা আঁচড়ানোর ক্ষেত্রে সহায়তা করতে পারে।
আমি এটি ব্যবহার করছি অন্য যে কোনও শাখায় একটি শাখা পরিবর্তন করতে আপনি এটি ব্যবহার করতে পারেন এটি আমার জন্য কবজির মতো কাজ করে।
গিট স্যুইচ [শাখার নাম] বা গিট চেকআউট [শাখার নাম]
উদাহরণস্বরূপ: গিট সুইচ বিকাশ বা
গিট চেকআউট বিকাশ
git checkout [branch]
বেশিরভাগ ব্যবহারকারীর জন্য এই প্রশ্নে আসছেন