আমি কীভাবে কোনও শাখার সামগ্রী একটি নতুন স্থানীয় শাখায় অনুলিপি করতে পারি?


270

আমি একটি স্থানীয় শাখায় কাজ করেছি এবং পরিবর্তনগুলি দূরবর্তীতেও ঠেলেছি। আমি সেই শাখার পরিবর্তনগুলি ফিরিয়ে আনতে চাই এবং এতে অন্য কিছু করতে চাই, তবে আমি কাজটি পুরোপুরি হারাতে চাই না। আমি স্থানীয়ভাবে একটি নতুন শাখা তৈরি করা এবং সেখানে পুরানো শাখাটি অনুলিপি করার মতো কিছু ভাবছিলাম, তারপরে আমি পরিবর্তনগুলি ফিরিয়ে আনতে পারি এবং পুরানো শাখায় কাজ চালিয়ে যেতে পারি। এর চেয়ে ভাল উপায় আর কি আছে? বা আমি এই কিভাবে করব?


10
4 বছর পরে, গিট 2.15 (Q4 2017) সহ, আপনি পাবেন git branch -c A B। দেখুন নিচের আমার উত্তর
VonC

উত্তর:


445
git checkout old_branch
git branch new_branch

এটি আপনাকে "ওল্ড_ব্রাঞ্চ" হিসাবে একই রাজ্যের সাথে একটি নতুন শাখা "নতুন_ ব্রাঞ্চ" দেবে।

এই কমান্ডটি নিম্নলিখিতগুলির সাথে মিলিত হতে পারে:

git checkout -b new_branch old_branch

134
বা এমনকি আরও ছোট git checkout -b new_branch(যখন আপনি ইতিমধ্যে চালু আছেন old_branch)।
Koraktor

4
এটি কেবল নতুন শাখা তৈরি করছে তবে সামগ্রীটি একটি শাখা থেকে অন্য শাখায় অনুলিপি করতে সক্ষম নয়। আমি যখন এই আদেশগুলি চেষ্টা করি তখন এটি "**** নামক শাখাটি ইতিমধ্যে বিদ্যমান" দেখায়।
আনিপ

7
আমি মনে করি যদি কেউ এর মতো একটি নতুন শাখা তৈরি করে তবে তার সাথে সাথে পুরানো শাখার অনুলিপি না থাকলে কেবল পুরানো শাখার মাথায় একটি নতুন পয়েন্টার। তবে আপনি যখন এখন নতুন শাখাকে ছাড় দেওয়ার মতো কিছু করেন তখন আপনাকে দেখতে হবে যে নতুন শাখাটি সংশোধিত করার সময় পুরানো শাখাটি এখনও তার মূল অবস্থায় রয়েছে। সুতরাং আমি মনে করি এটি ওপি যা চায় তাই করে।
uli_1973

1
গিট চেকআউট ওল্ড_ব্রাঞ্চ এবং গিট শাখা নিউ_ ব্রাঞ্চের চেয়ে .... প্রোডাক্টের উপরের কমান্ডটি ব্যবহার করা আরও ভাল, নীচের কমান্ডটি নতুন শাখা তৈরি করবে এবং আপনাকে নতুন শাখায় নিয়ে যাবে (নতুন শাখা হিসাবে শাখা পরিবর্তন করবে) .... গিট চেকআউট-বি নতুন_ ব্রাঞ্চ পুরাতন_ব্রাঞ্চ
কিরণ

একটি শাখা ওভাররাইট করতে, দেখতে stackoverflow.com/questions/26961371/...
MCCCS

55
git branch copyOfMyBranch MyBranch

এটি একটি শাখা পরীক্ষা করার সম্ভাব্য সময় সাপেক্ষ এবং অপ্রয়োজনীয় কাজ এড়িয়ে চলে। মনে রাখবেন যে একটি চেকআউট "ওয়ার্কিং ট্রি" সংশোধন করে, এটি বড় হলে বড় আকারের ফাইল থাকতে পারে (উদাহরণস্বরূপ চিত্র বা ভিডিও) a


1
অবশ্যই, যদি আপনার গিটে বাইনারি ফাইল থাকে, বিশেষত বড় ফাইলগুলি থাকে তবে ফাইলগুলি সম্পর্কিত আপনার কৌশলটি বিশ্লেষণ করা সার্থক। স্বাভাবিকভাবেই, অস্বাভাবিক ক্ষেত্রে উপস্থিত থাকবে এবং গিটে বাইনারি ফাইল থাকা পুরোপুরি গ্রহণযোগ্য হবে।
শ্রদ্ধেয়

52

গিট 2.15 (Q4 2017) এর সাথে একটি বিদ্যমান শাখাকে অনুলিপি করে একটি নতুন শাখা তৈরি করতে " git branch" শিখেছে " -c/-C"।

দেখুন কমিট c8b2cec (18 জুন 2017) দ্বারা Ævar Arnfjörð Bjarmason ( avar)
দেখুন প্রতিশ্রুতিবদ্ধ 52d59cc , প্রতিশ্রুতিবদ্ধ 5463caa (18 জুন 2017) সাহিল দুয়া ( sahildua2305) দ্বারা
(দ্বারা একীভূত junio সি Hamano - gitster- মধ্যে কমিট 3b48045 , 03 অক্টোবর 2017)

branch: একটি যোগ --copy( -cসঙ্গে যেতে) বিকল্প --move( -m)

--copyএকটি শাখায় দক্ষতা যুক্ত করুন এবং এর রিফলগ এবং কনফিগারেশন করুন, এটি রিফ্লগ এবং কনফিগারেশন বাদে পরিবর্তিত হওয়ার পরিবর্তে অনুলিপি করা হয়েছে --move( -m) বিকল্প হিসাবে একই অন্তর্নিহিত যন্ত্রপাতিটি ব্যবহার করে ।

এটি একটি নতুন সংস্করণ, যেমন একটি বিষয় শাখা অনুলিপি যেমন জন্য দরকারী workকরার work-2জমা দেওয়ার পরে workলিস্টে বিষয়, যখন সব ট্র্যাকিং তথ্য এবং অন্যান্য কনফিগারেশন যে শাখা সঙ্গে যায় সংরক্ষণের এবং অসদৃশ --moveজন্য প্রায় অন্যান্য ইতিমধ্যে জমা দেওয়া শাখা পালন রেফারেন্স।

দ্রষ্টব্য: একটি শাখা অনুলিপি করার সময়, আপনি আপনার বর্তমান শাখায় রয়েছেন।
জুনিও সি হামানো যেমন ব্যাখ্যা করেছেন:

বর্তমান শাখা হিসাবে উপস্থিত Bশাখাটি অনুলিপি করে একটি নতুন শাখা তৈরি করার সময়, এটি নতুন শাখায় নির্দেশ করার Aজন্য আপডেট HEADহয়।
এটি সম্ভবত এই উপায়ে তৈরি করা হয়েছিল কারণ " git branch -c A B" পিগিগিটি " " এর প্রয়োগটি কার্যকর করেছে git branch -m A B,

এটি স্বাভাবিক প্রত্যাশার সাথে মেলে না।
যদি আমি নীল চেয়ারে বসে থাকতাম এবং কেউ আবার এসে আবার এটি লাল রঙ করে দেয় তবে আমি এখন লাল রঙের চেয়ারে বসে থাকা শেষ করব তা গ্রহণ করব (পরিবর্তে আমি দাঁড়াতেও ঠিক আছি, কারণ এখন আর আমার প্রিয় নীল চেয়ার নেই is )।

তবে যদি কেউ নতুন লাল চেয়ার তৈরি করে থাকেন, আমি যে নীল চেয়ারটিতে বসে আছি তার পরে এটি মডেলিং করে, আমি নীল চেয়ারটি বুট না করে নতুন লাল চেয়ারে বসে শেষ করার প্রত্যাশা করি না।

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