"গিট শাখা" এবং "গিট চেকআউট-বি" এর মধ্যে পার্থক্য কী?


195

আমি git checkout -bএকটি নতুন শাখা তৈরি করতে ব্যবহৃত । আমি মনে করি git branchএটি একই জিনিস করে। এই দুটি কমান্ডের মধ্যে কীভাবে পার্থক্য রয়েছে, যদি তারা একেবারেই পৃথক হয়?


উত্তর:


258

git checkout -b BRANCH_NAMEএকটি নতুন শাখা তৈরি করে এবং একটি নতুন শাখা তৈরি করার সময় নতুন শাখাটি পরীক্ষা করে git branch BRANCH_NAMEতবে আপনাকে একই শাখায় ছেড়ে দেয়।

অন্য কথায় git checkout -b BRANCH_NAMEআপনার জন্য নিম্নলিখিতগুলি করে।

git branch BRANCH_NAME    # create a new branch
git checkout BRANCH_NAME  # then switch to the new branch

44

git branch শাখা তৈরি করে তবে আপনি যে বর্তমান শাখায় যাচাই করেছেন তা থেকে আপনি রয়ে গেছেন।

git checkout -b একটি শাখা তৈরি করে এবং এটি পরীক্ষা করে।

এটি একটি সংক্ষিপ্ত রূপ হিসাবে বিবেচনা করা যেতে পারে:

git branch name
git checkout name

বরং বলা যাক: "গিট শাখা শাখা তৈরি করে তবে আপনি যা যাচাই করেছেন তা থেকে আপনি বর্তমান শাখায় রয়েছেন" "
আকাশ ভার্মা

28
  • git branch: আপনার সমস্ত শাখা দেখায়
  • git branch newbranch: একটি নতুন শাখা তৈরি করে
  • git checkout -b newbranch: একটি নতুন শাখা তৈরি করে এবং তত্ক্ষণাত্ সেই শাখায় স্যুইচ করে। এটি git branch newbranchঅনুসরণ হিসাবে একই git checkout newbranch

23

সম্পূর্ণ বাক্য গঠন:

git checkout -b [NEW_BRANCH] [FROM_BRANCH]

[FROM_BRANCH] alচ্ছিক। যদি FROM_BRANCH না থাকে তবে গিটটি বর্তমান শাখা ব্যবহার করবে।


7

এখানে আরও একটি পতাকা উল্লেখ আছে, যা এইগুলির সাথে তুলনামূলক ..

git checkout -B BRANCH_NAME

এটি একটি খুব দরকারী কমান্ড যা আমি সম্প্রতি ব্যবহার করেছি। এই কমান্ডটি আপনার নির্দিষ্ট করা শাখাটি পরীক্ষা করে এবং উত্স শাখার উপর ভিত্তি করে শাখাটি পুনরায় সেট করে।


2
আপনি আরও ব্যাখ্যা করতে পারেন? আমি জানি না
গিটের

3
If -B is given, <new_branch> is created if it doesn't exist; otherwise, it is reset. This is the transactional equivalent of $ git branch -f <branch> [<start point>] $ git checkout <branch>
গিটের

সুতরাং আপনি বোঝাচ্ছেন যে আপনি একটি বিদ্যমান শাখা পুনরায় ব্যবহার করতে পারেন?
মিকাউল মায়ার

1
আপনি checkout -Bযে শাখায় পাল্টাচ্ছেন তা অন্যের দ্বারা ভাগ করা যদি বিপজ্জনক? আমি এটি সম্প্রতি ব্যবহার করেছি এবং দেখে মনে হয়েছে যে আমি অন্য শাখায় পরিবর্তিত হয়ে যাচ্ছি সেই শাখায় আমি পরিবর্তিত হয়েছি।
জেফ

যদি আপনি রিমোট থেকে অন্য কোনও বিকাশকারী শাখা git checkout -B
আনেন

-1

উভয় কমান্ডের ফর্ম রয়েছে যা একই রকম (গিট-স্কিম ডক্স সংস্করণ 2.11.1 এর দিকে তাকানো):

git branch <branchname> <start-point>

এবং

git checkout -b <new_branch> <start_point>

পরেরটির প্রথম শাখা কমান্ড নির্বাহ এবং তারপর চেকআউট যোগ। সেই ফর্মটিতে গিট-ব্রাঞ্চের ডকের স্পষ্টভাবে উল্লেখ রয়েছে:

নির্দিষ্ট করে -b একটি নতুন শাখা তৈরির কারণ হিসাবে গিট-শাখা [2] ডেকে ডেকে চেক আউট করে


1
এটি ২০১১ সাল থেকে গৃহীত উত্তরের উপরে কোনও নতুন তথ্য যুক্ত করবে না
মেলপোমেন

এটি আসলে <স্টার্ট-পয়েন্ট> সম্পর্কে নতুন তথ্য যুক্ত করে। যা আমি ব্যক্তিগতভাবে প্রথম অবজেক্টটি চেকআউট না করে বা বর্তমান শাখাটি সরিয়ে না নিয়ে অন্য কোথাও অবস্থিত অবজেক্টে শাখা তৈরি করতে বেশ দরকারী বলে মনে করি। [FROM_BRANCH] হিসাবে স্বরলিপি ব্যবহার করার সময় যখন গিট-রেফারেন্সটি বোঝানো হয় তা আমার মতে কার্যকর নয়।
PShemy108

Alচ্ছিক দ্বিতীয় যুক্তি প্রশ্নের সাথে প্রাসঙ্গিক নয়। এটি উভয় কমান্ডের মধ্যে সমান এবং ওপি পার্থক্য জানতে চেয়েছিল। (আপনি যদি সত্যিই এটি অপরিহার্য বলে মনে করেন তবে আমি কেবল স্বীকৃত উত্তরে একটি মন্তব্য যুক্ত করতে পারতাম))
মেলপোমেন

-1

মূলত:

এ-গিট শাখা আপনাকে সহজ এবং সরল একটি শাখা তৈরি করতে দেয়।

বি-গিট চেকআউট-বি আপনাকে একটি শাখা তৈরি করতে এবং একই সাথে এতে স্যুইচ করতে দেয়।

আপনি কখন ব্যবহার করবেন? 1- গিট শাখা যখন আপনি একটি শাখা তৈরি করতে চান তবে বর্তমান শাখায় থাকুন। 2- গিট চেকআউট-বি আপনি তৈরি করতে এবং স্যুইচ করতে চাইলে। আপনি যদি দেখে থাকেন তবে এটি একটি শাখা তৈরি করা এবং এটিতে স্যুইচ করা স্বজ্ঞাত। সুতরাং পছন্দটি আপনার :)


4
এটি ২০১১ সাল থেকে গৃহীত উত্তরের উপরে কোনও নতুন তথ্য যুক্ত করবে না
মেলপোমেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.