git গিটহাব - আমি কিভাবে একটি স্থানীয় গিট শাখা নামকরণ করবেন?



github (25)

স্থানীয় এবং রিমোট গিট রিপোজিটরির জন্য মাস্টার শাখাকে পুনঃনামকরণে বর্ণিত হিসাবে আমি একটি রিমোট শাখাটির নামকরণ করতে চাই না।

আমি কিভাবে একটি স্থানীয় শাখার নামকরণ করতে পারি যা রিমোট শাখায় ঢোকানো হয়নি?


Answers

PHPStorm:

VCS-> Git-> শাখাগুলি ...-> স্থানীয় শাখাগুলি-> _your_branch_ -> পুনঃনামকরণ করুন


সম্ভবত অন্যদের দ্বারা উল্লিখিত, এই শাখার নামকরণ একটি মামলা দ্বিধা করা হবে।

আপনার যদি এমন একটি পরিস্থিতি থাকে তবে আমি অনুমান করতে পারি যে আপনি উইন্ডোজগুলিতে আছেন যা আপনাকে এটিকেও নেতৃত্ব দেবে:

$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.

তারপর আপনি একটি মধ্যবর্তী পদক্ষেপ করতে হবে:

$ git branch -m temporary
$ git branch -m casesensitive

বেশি না.


এটি করার সহজ উপায়:

git branch -m old_branch new_branch         # Rename branch locally    
git push origin :old_branch                 # Delete the old branch    
git push --set-upstream origin new_branch   # Push the new branch, set local branch to track the new remote

আরো জন্য, this


যদি আপনি কোনও শাখার দিকে নির্দেশ করে একটি শাখাটির নামকরণ করতে চান তবে তা করুন:

git branch -m <oldname> <newname>

আপনি যদি বর্তমান শাখাটির নাম পরিবর্তন করতে চান তবে আপনি এটি করতে পারেন:

git branch -m <newname>

এটি মনে রাখার একটি উপায়, -m হল "চলুন" (বা mv ), যা আপনি ফাইলগুলিকে পুনঃনামকরণ করেন।


যদি তুমি চাও:

  • git branch -m <oldname> <newname> repository পুনঃনামকরণ করুন, run: git branch -m <oldname> <newname>
  • পুরানো শাখাটি মুছুন: git push origin: old-name new-name
  • এটি ব্যবহার করে git commit <newname> : git commit <newname>
    • এবং তারপর ব্যবহার করে ধাক্কা: git push origin new_branch_name:master
  • আপনি স্থিতি চেক করতে চান তাহলে git status ব্যবহার করুন
  • আপনি চেক আউট করতে চান তাহলে ব্যবহার করুন: git checkout

আমি নির্বোধভাবে একটি হাইফেন দিয়ে শুরু একটি শাখা নামকরণ, এবং তারপর মাস্টার চেক আউট। আমি আমার শাখা মুছে ফেলতে চাইনি, আমি এতে কাজ করেছিলাম।

এগুলির মধ্যে কোনটিই কাজ করেনি:

git checkout -dumb-name

git checkout -- -dumb-name

" গুলি, গুলি এবং \ গুলি কোন সাহায্য করেনি। git branch -m কাজ করে না।

এখানে আমি অবশেষে কিভাবে এটি সংশোধন করা হয়েছে। আপনার কাজের কপি এর। গিট / রেফ / হেডগুলিতে যান, ফাইল নামটি "ডাম্ব-নাম" খুঁজুন, শাখাটির হ্যাশ পান। তারপরে এটি চেক আউট করবে, একটি সান নাম দিয়ে একটি নতুন শাখা তৈরি করবে এবং পুরানোটি মুছে ফেলবে।

git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name

এই কমান্ডটি ব্যবহার করে শাখাটি পুনঃনামকরণ করুন:

git branch -m [old_branch_name] [new_branch_name]

-m : এটি নামান্তর / শাখা চালায়। যদি ইতিমধ্যে একটি শাখা আছে, আপনি একটি ত্রুটি পাবেন।

যদি ইতিমধ্যে একটি শাখা আছে এবং আপনি সেই শাখার সাথে পুনরায় নামকরণ করতে চান তবে ব্যবহার করুন:

 git rename -M [old_branch_name] [new_branch_name]

সাহায্য সম্পর্কে আরও তথ্যের জন্য, এই কমান্ডটি টার্মিনালে ব্যবহার করুন:

git branch --help

অথবা

man git branch

বর্তমান শাখার নামকরণ (বিচ্ছিন্ন HEAD রাষ্ট্র ছাড়া) আপনি এই উপনামটি ব্যবহার করতে পারেন:

[alias]
    mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'

শাখাটির নামকরণের পদক্ষেপ এখানে দেওয়া হল:

1. switch to branch which needs to be renamed
2. git branch -m <new_name>
3. git push origin :<old_name>
4. git push origin <new_name>:refs/heads/<new_name>

EDIT (12/01/2017): আপনি কমান্ড git status চালান এবং নতুন তৈরি শাখাটি তার নিজস্ব রেফারেন্সটি নির্দেশ করে এবং পুরোনো নয় তা নিশ্চিত করুন। যদি আপনি পুরানো শাখাটির রেফারেন্সটি খুঁজে পান তবে আপনাকে এটির প্রবাহটি ব্যবহার করে সেটিকে আনসেট করতে হবে:

git branch --unset-upstream

git branch -m old_branch_name  new_branch_name

অথবা

git branch --move old_branch_name new_branch_name

git branch -m old_branch_name new_branch_name

উপরের কমান্ডটি আপনার শাখার নাম পরিবর্তন করবে তবে আপনাকে পুনঃনামিত শাখাটি ব্যবহার করে খুব সতর্কতা অবলম্বন করতে হবে, কারণ এটি এখনও সম্পর্কিত পুরানো আপস্ট্রিম শাখাটি, যদি থাকে তবে তা ব্যবহার করবে।

আপনার স্থানীয় শাখাটি নতুন_ব্রাঞ্চ_নাম (উদাহরণের নাম) -এ নামকরণের পরে আপনি মাস্টারে কিছু পরিবর্তন ধাক্কা দিতে চান:

git push origin new_branch_name:master (এখন পরিবর্তন প্রধান শাখায় যাবে তবে আপনার স্থানীয় শাখার নাম new_branch_name)

আরো বিস্তারিত জানার জন্য, " গিটে আপনার স্থানীয় শাখার নামটি কীভাবে পুনঃনামকরণ করবেন তা দেখুন।"


1. পুনঃনামকরণ

এটা যদি আপনার বর্তমান শাখা, শুধু না

git branch -m new_name

যদি এটি অন্য শাখা আপনি নামকরণ করতে চান

git branch -m old_name new_name

2. একটি নতুন রিমোট শাখা ট্র্যাক

- যদি আপনার শাখাটি ধাক্কা দেওয়া হয়, তবে পুনরায় নামকরণের পরে আপনাকে রিমোট জিট রিপোজিটরি থেকে এটি মুছে ফেলতে হবে এবং আপনার নতুন স্থানীয় একটি নতুন দূরবর্তী শাখাটি ট্র্যাক করতে বলুন:

git push origin :old_name
git push --set-upstream origin new_name

স্থানীয়ভাবে শাখা পরিবর্তন করা বেশ সহজ ...

আপনি যদি শাখাটিতে নাম পরিবর্তন করতে চান তবে কেবল এটি করুন:

git branch -m my_new_branch

অন্যথায়, যদি আপনি কোনও master বা অন্য কোনও শাখায় থাকেন তবে আপনি যে নামটি পরিবর্তন করতে চান তার চেয়ে অন্যটি কেবলমাত্র করবেন:

git branch -m my_old_branch my_new_branch

এছাড়াও, আমি কমান্ড লাইনের মধ্যে এটিকে দেখানোর জন্য নীচের চিত্রটি তৈরি করেছি, এই ক্ষেত্রে, আপনি উদাহরণস্বরূপ master শাখাতে আছেন:


আপনার বর্তমান শাখা নামকরণ করা:

git branch -m <newname>

এখানে তিনটি ধাপ রয়েছে: একটি কমান্ড যা আপনি আপনার টার্মিনালের ভিতরে কল করতে পারেন এবং শাখা নাম পরিবর্তন করতে পারেন।

git branch -m old_branch new_branch         # Rename branch locally
git push origin :old_branch                 # Delete the old branch
git push --set-upstream origin new_branch   # Push the new branch, set local branch to track the new remote

আপনি আরো প্রয়োজন হলে: ধাপে ধাপে, গিট শাখা নামটি পরিবর্তন করতে কীভাবে এটি সম্পর্কে একটি ভাল নিবন্ধ।


গিট সংস্করণ 2.9.2

আপনি যদি স্থানীয় শাখাটির নাম পরিবর্তন করতে চান তবে আপনি:

git branch -m new_name

আপনি যদি একটি পৃথক শাখার নাম পরিবর্তন করতে চান:

git branch -m old_name new_name

আপনি যদি ইতিমধ্যে একটি বিদ্যমান শাখার নাম পরিবর্তন করতে চান এমন একটি নামতে চান:

git branch -M old_name new_name_that_already_exists

দ্রষ্টব্য: শেষ কমান্ডটি ধ্বংসাত্মক এবং আপনার শাখাকে পুনঃনামকরণ করবে, তবে আপনি সেই নামের সাথে পুরানো শাখাটি হারাবেন এবং সেগুলির কারণগুলি শাখা নামগুলি অনন্য হতে হবে।


উন্নত গিট ব্যবহারকারীরা ম্যানুয়ালি নামকরণ করতে পারেন:

Rename the old branch under .git/refs/heads to the new name

Rename the old branch under .git/logs/refs/heads to the new name

Update the .git/HEAD to point to yout new branch name

উপরের সবগুলোই git branch -m মি সম্পর্কে কথা বলছে। অবশ্যই, এটি চালানো সহজ, তবে আমার জন্য, অন্য গিট কমান্ডটি মনে রাখা একটু কঠিন হতে পারে। তাই আমি যে কমান্ডটি সম্পর্কে পরিচিত ছিল তা দ্বারা কাজটি পেতে চেষ্টা করেছি। হ্যাঁ, আপনি এটি অনুমান করতে পারেন।

আমি git branch -b <new_branch_name> ব্যবহার করি। এবং যদি আপনি পুরাতন শাখাটি সংরক্ষণ করতে না চান তবে আপনি এটি মুছে ফেলার জন্য git branch -D <old_branch_name> করতে পারেন।

আমি জানি এটি একটু ক্লান্তিকর হতে পারে তবে বোঝা এবং মনে রাখা সহজ। আশা করি আপনার পক্ষে এটি সহায়ক।


আপনার শাখা একবার সমাপ্ত হলে শাখা পুনঃনামকরণ দরকারী হবে। তারপর নতুন জিনিস আসছে, এবং আপনি এটি মুছে ফেলার এবং নতুন তৈরির পরিবর্তে একই শাখায় বিকাশ করতে চান।

আমার অভিজ্ঞতা থেকে, গিটের একটি স্থানীয় ও দূরবর্তী শাখাটির নামকরণ করতে আপনাকে নিম্নলিখিত পদক্ষেপগুলি করা উচিত।

একাধিক যুক্তরাষ্ট্র থেকে উদ্ধৃত - গিট একটি স্থানীয় এবং দূরবর্তী শাখা পুনঃনামকরণ

1. আপনার স্থানীয় শাখা পুনঃনামকরণ

আপনি যদি শাখার নাম পরিবর্তন করতে চান তবে:

git branch -m new-name

যদি আপনি একটি ভিন্ন শাখায় থাকেন:

git branch -m old-name new-name

2. পুরাতন নাম রিমোট শাখা মুছে দিন এবং নতুন নাম স্থানীয় শাখা ধাক্কা

git push origin :old-name new-name

3. নতুন নাম স্থানীয় শাখা জন্য আপস্ট্রিম শাখা পুনরায় সেট করুন

git push origin -u new-name

গিট GUI ব্যবহারকারীদের জন্য এটি অনেক সহজ হতে পারে না। গিট জিওআইতে, মেনু আইটেম থেকে তৈরি করা "পুনঃনামকরণ শাখা" ডায়ালগ বক্সের ড্রপ ডাউন তালিকা থেকে শাখা নামটি নির্বাচন করুন শাখা: পুনঃনামকরণ করুন, একটি নতুন নাম টাইপ করুন এবং "পুনঃনামকরণ" ক্লিক করুন। ড্রপ ডাউন তালিকা যেখানে আমি হাইলাইট আছে।


উত্তরগুলি এতদূর সঠিক হয়েছে তবে এখানে কিছু অতিরিক্ত তথ্য রয়েছে: একজন 'শাখা' (সরানো) সহ একটি শাখাটির নামকরণ করতে পারেন, তবে একজনকে সতর্কতা অবলম্বন করতে হবে, কারণ 'M' ইতিমধ্যে একই নামের সাথে শাখা। এখানে 'গিট-শাখা' ম্যান পৃষ্ঠা থেকে উদ্ধৃতি রয়েছে:

একটি-এম বা -এম বিকল্পের সাথে, <oldbranch> নামকরণ করা হবে <newbranch> । যদি <oldbranch> এর সাথে সংশ্লিষ্ট রিফ্লগ থাকে তবে এটি নতুন নাম <newbranch> নামকরণ করা হয় এবং শাখা পুনঃনামকরণ মনে রাখার জন্য একটি রিফ্লগ এন্ট্রি তৈরি করা হয়। যদি <newbranch> বিদ্যমান থাকে, <newbranch> পুনর্নাম ঘটতে বাধ্য করতে হবে।


শাখা পুনঃনামকরণ করুন:

git branch -m old_branchname new_branchname

এখানে -m বিকল্পটির দীর্ঘ নাম --move। তাই আমরা ব্যবহার করতে পারেন

git branch --move old_branchname new_branchname

আপনি যদি বর্তমান শাখার নামকরণ করতে চান তবে এটি ব্যবহার করুন।

git branch -m new_branchname

অথবা

git branch -move new_branchname

আপনি যদি এই পরিবর্তনগুলি দূরবর্তীতে সরাতে চান তবে নিম্নলিখিতটি ব্যবহার করুন।

git push origin :old_branchname new_branchname

এটি old_branchname দূরবর্তী শাখাটি মুছে দেবে এবং নতুন_ব্রানচেন স্থানীয় শাখাকে ধাক্কা দেবে।

git push origin -u new_branchname

এটি new_branchname স্থানীয় শাখার জন্য আপস্ট্রিম শাখাটি পুনরায় সেট করবে।


আপনি যদি SourceTree ব্যবহার করতে ইচ্ছুক হন (যা আমি দৃঢ়ভাবে সুপারিশ করি), আপনি আপনার শাখাটিতে ডান ক্লিক করতে পারেন এবং 'পুনঃনামকরণ' চয়ন করতে পারেন।


বিশেষ করে প্রশ্নের উত্তর দেওয়ার চেষ্টা করছেন (অন্তত শিরোনাম)।

আপনি স্থানীয় শাখার নামকরণ করতে পারেন, তবে দূরবর্তী স্থানে পুরানো নামটি ট্র্যাক করে রাখে।

git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch

এখন, যখন আপনি git push চালান, দূরবর্তী old_branch ref আপনার স্থানীয় new_branch দিয়ে আপডেট করা হয়।

আপনি এই কনফিগারেশন জানেন এবং মনে আছে । তবে আপনার কাছে রিমোট শাখার নামের জন্য পছন্দ না থাকলে এটি উপকারী হতে পারে, তবে আপনি এটি পছন্দ করেন না (ওহ, আমি বলতে চাচ্ছি যে, এটি আপনার পছন্দ না এমন একটি ভাল কারণ রয়েছে!) এবং একটি ক্লিয়ারার পছন্দ করে আপনার স্থানীয় শাখা জন্য নাম।

ফেচ কনফিগারেশন দিয়ে বাজানো, আপনি এমনকি স্থানীয় দূরবর্তী রেফারেন্স পুনঃনামকরণ করতে পারেন। অর্থাৎ, refs/remote/origin/new_branch রেফার refs/remote/origin/new_branch রেফার পয়েন্টার রয়েছে, যা মূলত old_branch । যাইহোক, আমি আপনার মন নিরাপত্তার জন্য, এই অত্যন্ত নিরুৎসাহিত।


একটি জিট রিপোজিটরি ক্লোন করতে, করুন:

git clone <either ssh url /http url>

উপরের কমান্ডটি সমস্ত শাখাগুলি পরীক্ষা করে দেখায়, তবে কেবলমাত্র master শাখার সূচনা হবে। আপনি যদি অন্যান্য শাখা চেকআউট করতে চান, তাহলে:

git checkout -t origin/future_branch (for example)

এই কমান্ডটি দূরবর্তী শাখাটি পরীক্ষা করে এবং আপনার স্থানীয় শাখার নাম রিমোট শাখা হিসাবে একই হবে।

আপনি যদি চেকআউটে আপনার স্থানীয় শাখার নামটি ওভাররাইড করতে চান:

git checkout -t -b enhancement origin/future_branch

এখন আপনার স্থানীয় শাখার নাম future_branch , তবে আপনার দূরবর্তী শাখার নাম future_branch

Documentation





git git-branch