আমি কীভাবে একটি শাখা তৈরি করব?


উত্তর:


349

সাবভারশনে ব্রাঞ্চিং খুব হালকা এবং দক্ষ অনুলিপি সুবিধা দ্বারা সহজতর হয়।

ব্রাঞ্চিং এবং ট্যাগিং কার্যকরভাবে একই। svn copyকমান্ডটি ব্যবহার করে কেবল সংগ্রহস্থলের কোনও পুরো ফোল্ডারটি অনুলিপি করতে পারেন ।

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

প্রচলিত শৈলী নামক আপনার সংগ্রহস্থলের উপরের ফোল্ডার একটি গুচ্ছ আছে হয় tags, branches, trunkআপনি আপনার পুরো কপি করতে দেয় - ইত্যাদি trunkমধ্যে (অথবা উপ-সেট) tagsএবং / অথবা branchesফোল্ডার নেই। আপনার যদি একাধিক প্রকল্প থাকে তবে আপনি প্রতিটি প্রকল্পের আওতায় এই ধরণের কাঠামোটি প্রতিলিপি করতে চাইতে পারেন:

ধারণাটি ব্যবহারে কিছুটা সময় নিতে পারে - তবে এটি কার্যকর - কেবলমাত্র নিশ্চিত হন যে আপনি (এবং আপনার দল) আপনি যে সম্মেলনগুলি ব্যবহার করতে যাচ্ছেন সে সম্পর্কে পরিষ্কার clear একটি নামকরণের একটি ভাল কনভেনশন রাখাও একটি ভাল ধারণা - যা আপনাকে শাখা / ট্যাগ কেন তৈরি হয়েছিল এবং এটি এখনও যথাযথ কিনা তা আপনাকে জানায় - অপ্রচলিত শাখা সংরক্ষণাগারগুলির উপায়গুলি বিবেচনা করুন।


211
"এসএনএন কপি" এর সুবিধা রয়েছে যে এটি শাখার আগে ইতিহাস বজায় রাখবে। অন্য ডিরেক্টরিতে ম্যানুয়ালি অনুলিপি করা হবে না।
নটহাগো

5
এছাড়াও নোট করুন যে সাধারণত "ট্রাঙ্ক" এর উপ-ডিরেক্টরিগুলি ট্যাগ করা বা শাখা করা খারাপ ধারণা। কোন সাব-ডিরেক্টরীটি ব্রাঞ্চ করা হয়েছিল তা ট্র্যাক রাখা শক্ত করে তোলে এবং বেশিরভাগ সরঞ্জামগুলি এই শাখাগুলি দ্বারা বিভ্রান্ত হয়ে উঠবে (যেমন শাখা স্যুইচিংয়ের অর্থ ডাব্লুসি পরিবর্তনের ডিরেক্টরি কাঠামো হবে, যা আইডিইগুলিকে বিভ্রান্ত করবে এবং সরঞ্জামগুলি তৈরি করবে)। শুধু সর্বদা শাখা "ট্রাঙ্ক"।
স্লেসকে

1
@ উইল প্রকৃতপক্ষে svn cpসস্তা কপি ব্যবহার করবে, এটি শাখার সময় প্রকৃত ফাইলগুলি অনুলিপি করে নাSvnbook.red-bean.com/en/1.1/ch04s02.html
ওয়াল্টি ইয়েং

607

svn copyকমান্ডটি ব্যবহার করে একটি নতুন শাখা তৈরি করুন :

$ svn copy svn+ssh://host.example.com/repos/project/trunk \
           svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH \
      -m "Creating a branch of project"

24
পরবর্তী ব্যবহার svn switch svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH .(আপনি যদি বর্তমান চেকআউটটিকে নতুন শাখায় স্যুইচ করতে চান) বা svn checkout svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH(আপনি যদি পৃথক ডিরেক্টরিতে নতুন শাখা রাখতে চান) সদ্য তৈরি হওয়া শাখায় কাজ শুরু করতে পারেন।
জাকুব নারেবস্কি

3
দ্রষ্টব্য: কিছু ক্ষেত্রে আপনার--parentsসাথে বিকল্পব্যবহার করতে হবেsvn copy!
জাকুব নরবস্কি

1
কোনও কারণে আমি এই সেন্টিমিডিটি ব্যবহার করেছি এবং এটি কাজ করে না, তবে যখন আমি এসএনএন + এসএসএস পরিবর্তন করেছি কেবলমাত্র https তে এটি কাজ করেছিল। আমি কি কিছু ভুল করেছি? এসএনএন + এসএস এর অর্থ কী? ধন্যবাদ!
অ্যাভিয়েল গ্রস

আপনাকে প্রথমে আপনার শাখায় একটি নতুন ডিরেক্টরি তৈরি করতে হবে -> এসএনএন এমকেডিআর হোস্ট.এক্সাম্পল / রিপোস / প্রজেক্ট / ব্রাঞ্চস / এনএমআর_আরএনসিএইচ - মি "সমস্ত শাখা রাখার জন্য শাখা ডিরেক্টরি তৈরি করুন"
সিলভিও ট্রোয়া

আমি যদি -mবিকল্পটি বাদ দিই তবে এটি পছন্দ করে svn: E155010: Path '/home/constantine/someDirectory/svn+ssh:https:/myhost.com/svn/dir1/dir2/trunk/dir3/dir4/dir5' does not exist। সঙ্গে -mএটা বলে svn: E205009: Local, non-commit operations do not take a log message or revision properties(আমি ঠিকানাগুলি প্রতিস্থাপিত, কিন্তু তারা কি করতে বিদ্যমান, ছাড়া, Ofc, নতুন শাখা ডিরেক্টরি, এবং গোটা পাথ + + URL কোনো কারণে SVN ভুলবশত মার্জ) যে
হাই-অ্যাঞ্জেল

33

যদি আপনার রেপো https এর মাধ্যমে উপলভ্য থাকে তবে আপনি এই আদেশটি শাখায় ব্যবহার করতে পারেন ...

svn copy https://host.example.com/repos/project/trunk \
       https://host.example.com/repos/project/branches/branch-name \
  -m "Creating a branch of project"

26
svn cp /trunk/ /branch/NEW_Branch

আপনার যদি ট্রাঙ্কে কিছু স্থানীয় পরিবর্তন থাকে তবে Rsyncপরিবর্তনগুলি সিঙ্ক করতে ব্যবহার করুন

rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch

2
rsyncএইভাবে ব্যবহার করার প্রয়োজন নেই । svn cpযে কোনও স্থানীয় পরিবর্তনগুলিও অনুলিপি করবে।
কেভিন পানকো

@ কেভিনপ্যাঙ্কো এটি আপত্তিজনক পরিবর্তনগুলি অনুলিপি করবে না।
পরাগ বাফনা

4
এটি, এসএনএন, সংস্করণ 1.8.5 এর সাথে নিশ্চিত হয়েছে
কেভিন

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

@ কেভিনপ্যাঙ্কো আপনি কি জানেন যে এটি নতুন নির্মিত ফাইলগুলিও অনুলিপি করে?
জন হ্যামিল্টন

16

মনে করুন আপনি একটি ট্রাঙ্কের নাম থেকে ("টেস্ট" হিসাবে) একটি শাখা তৈরি করতে চান তবে ব্যবহার করুন:

svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST

14

সাধারণত আপনি এটি এসএনএন + এসএসএস: //host.example.com/repos/project/branches/mybranch এ অনুলিপি করে রেখেছিলেন যাতে আপনি বেশ কয়েকটি শাখা সংগ্রহস্থলে রাখতে পারেন তবে আপনার বাক্য গঠন বৈধ is

আপনার সংগ্রহস্থল বিন্যাসটি কীভাবে সেট আপ করবেন সে সম্পর্কে এখানে কিছু পরামর্শ ।


13

নতুন এসভিএন ব্যবহারকারীদের জন্য শীর্ষ পরামর্শ; এটি সঠিকভাবে ইউআরএলগুলি দ্রুত পাওয়ার সাথে কিছুটা সহায়তা করতে পারে।

চালান svn infoবর্তমান চেক-আউট শাখা সম্পর্কে দরকারী তথ্য প্রদর্শন করতে ।

ইউআরএলটি (যদি আপনি রুট ফোল্ডারে এসএনএন চালনা করেন) আপনাকে কপি করা URL টি দেওয়া উচিত।

সদ্য নির্মিত শাখায় স্যুইচ করতে, svn switchকমান্ডটি ব্যবহার করুন :

svn switch http://my.repo.url/myrepo/branches/newBranchName

3
আপনি
os

11

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

Svnmerge.py

আমি শুনি সাবভারশন 1.5 আরও একত্রীকরণের ট্র্যাকিং তৈরি করে, এর সাথে আমার কোনও অভিজ্ঞতা নেই। আমার প্রকল্পটি 1.4.x এ চলছে এবং এসএনএনএম.পি লাইফ সেভার!


6
  • আপনার বর্তমান প্রকল্পের বাইরে একটি নতুন ফোল্ডার তৈরি করুন। আপনি এটি কোনও নাম দিতে পারেন। (উদাহরণ: আপনার "কাস্টমাইজেশন" নামে একটি প্রকল্পের জন্য একটি চেকআউট রয়েছে it এবং এটিতে অনেকগুলি প্রকল্প রয়েছে, যেমন "প্রকল্প 1", "প্রকল্প 2" .... এবং আপনি "প্রকল্প 1" এর একটি শাখা তৈরি করতে চান So তাই প্রথমে খুলুন " কাস্টমাইজেশন ", ডান ক্লিক করুন এবং একটি নতুন ফোল্ডার তৈরি করুন এবং এটির নাম দিন," প্রকল্প 1 ব্রাঞ্চ ")।
  • "মাইপ্রোজেক্ট 1" এ ডান ক্লিক করুন .... কচ্ছপ এসভিএন -> শাখা / ট্যাগ।
  • কাজের অনুলিপি চয়ন করুন।
  • ব্রাউজার খুলুন .... "টু ইউআরএল" এর সমান্তরালের ঠিক ডানদিকে।
  • কাস্টমাইজেশন নির্বাচন করুন ..... ডান ক্লিক করুন তারপরে ফোল্ডার যুক্ত করুন। এবং আপনি যে ফোল্ডারটি তৈরি করেছেন তা দিয়ে যান। এখানে এটি "প্রজেক্ট 1 ব্রাঞ্চ"। এবার যুক্ত করতে ওকে বোতামটি ক্লিক করুন।
  • এই নতুন ব্যাঞ্চের চেকআউট নিন।
  • আবার আপনার প্রকল্পে আপনি কোন শাখা তৈরি করতে চান তা যান। টরোটাইজ এসভিএন -> শাখা / ট্যাগটিতে রাইট ক্লিক করুন। তারপরে ওয়ার্কিং কপি নির্বাচন করুন। এবং আপনি আপনার শাখার নাম হিসাবে URL দিতে পারেন। যেমন IP আপনার আইপি ঠিকানা / এসএনএন / এএএএ / কাস্টমাইজেশন / প্রজেক্ট 1 ব্রাঞ্চ}} এবং আপনি নামটি URL এ সেট করতে পারেন যাতে এটি কেবল এই নামের সাথে ফোল্ডারটি তৈরি করে। {আপনার আইপি ঠিকানা / এসএনএন / এএএএ / কাস্টমাইজেশন / প্রজেক্ট 1 ব্রাঞ্চ / মাইপ্রজেক্ট 1 ব্র্যাঙ্ক Like
  • ঠিক আছে বোতাম টিপুন। এখন আপনি লগ ইন দেখতে পাচ্ছেন ... আপনার কার্যকরী অনুলিপিটি আপনার শাখায় সংরক্ষণ করা হবে।
  • এখন আপনি একটি চেক আউট নিতে পারেন ... এবং আপনাকে আপনার কাজ উপভোগ করতে দিন। :)

-1

উইন্ডোজ মেশিনে টরটোইজএসভিএন ব্যবহার করে ট্রাঙ্ক থেকে একটি শাখা তৈরি করার পদক্ষেপগুলি নীচে দেওয়া হয়েছে। স্পষ্টতই এটি ইনস্টল করার জন্য TortoiseSVN ক্লায়েন্ট প্রয়োজন।

  1. স্থানীয় উইন্ডোজ মেশিন থেকে আপডেট ট্রাঙ্কে রাইট ক্লিক করুন
  2. কচ্ছপ এসভিএন নির্বাচন করুন
  3. শাখা / ট্যাগ ক্লিক করুন
  4. এসভিএন সংগ্রহস্থলে তো পাথ নির্বাচন করুন। নোট করুন যে গন্তব্য URL টি দেওয়া পথ এবং শাখার নাম অনুসারে আপডেট করা হয়েছে updated
  5. সংগ্রহস্থল ব্রাউজারে শাখাগুলির ভিতরে ফোল্ডার তৈরি করবেন না
  6. শাখার পথ যুক্ত করুন। উদাহরণস্বরূপ, শাখা /
  7. আপনার রেফারেন্সের জন্য একটি অর্থবহ লগ বার্তা যুক্ত করুন
  8. ওকে ক্লিক করুন, এটি স্থানীয় সিস্টেমে নতুন ফোল্ডার তৈরি করে
  9. নতুন ফোল্ডারে তৈরি করা শাখাটি চেকআউট করুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.