গিট শাখার নামকরণের জন্য সাধারণত ব্যবহৃত অনুশীলনের কয়েকটি উদাহরণ কী? [বন্ধ]


1120

আমি এখন বেশ কয়েক মাস ধরে আমার গোষ্ঠীর সিভিএস সংগ্রহস্থলের সাথে ইন্টারঅ্যাক্ট করে স্থানীয় গিট রিপোজিটরি ব্যবহার করছি। আমি প্রায় নিউরোটিক শাখা তৈরি করেছি, যার বেশিরভাগ শুকরিয়া আমার ট্রাঙ্কে মিশে গেছে। নামকরণ একটি ইস্যু হয়ে উঠতে শুরু করে। যদি আমার একটি সহজ টাস্কটি সহজেই একটি সাধারণ লেবেলের সাথে নামকরণ করা হয় তবে আমি এটি তিনটি পর্যায়ে সম্পাদন করি যার মধ্যে প্রত্যেকে তাদের নিজস্ব শাখা এবং মার্জ পরিস্থিতি অন্তর্ভুক্ত করে, তবে আমি প্রত্যেকবার শাখার নামটি পুনরাবৃত্তি করতে পারি, তবে এটি ইতিহাসকে কিছুটা বিভ্রান্ত করে তোলে। আমি যদি প্রতিটি পর্যায়ে আলাদা বর্ণনার সাথে নামগুলিতে আরও নির্দিষ্ট হয়ে থাকি তবে শাখার নামগুলি দীর্ঘ এবং অযৌক্তিক হতে শুরু করে।

আমি এখানে পুরানো থ্রেডগুলি সন্ধান করতে শিখেছি যে আমি / / নামে অর্থাত্ বিষয় / টাস্ক বা এরকম কিছু দিয়ে শাখার নামকরণ শুরু করতে পারি। আমি এটি করা এবং এটি জিনিসগুলি আরও সুসংহত রাখতে সহায়তা করে কিনা তা দেখতে শুরু করতে পারি।

গিট শাখার নামকরণের জন্য কয়েকটি সেরা অনুশীলন কী কী?

সম্পাদনা: কেউই নামকরণের কোনও কনভেনশন করার প্রস্তাব দেয়নি। আমি যখন শাখাগুলি তাদের সাথে শেষ করি তখন আমি মুছতে পারি। আমার নিয়মিতভাবে আমার অগ্রাধিকারগুলি সামঞ্জস্য করার কারণে আমার প্রায়শই কিছু ঘটেছিল। :) কেন একটি কার্যে আমার একাধিক শাখার প্রয়োজন হতে পারে তার উদাহরণ হিসাবে, ধরুন, আমি গ্রুপের সিভিএস সংগ্রহস্থলে টাস্কে প্রথম বিচ্ছিন্ন মাইলফলক স্থাপন করতে হবে। সেই সময়ে, সিভিএসের সাথে আমার অসম্পূর্ণ মিথস্ক্রিয়তার কারণে আমি সেই প্রতিশ্রুতিটি সম্পাদন করব এবং তারপরে সেই শাখাটি হত্যা করব kill (আমি যদি সেই সময়ে একই শাখা ব্যবহার চালিয়ে যাওয়ার চেষ্টা করি তবে আমি খুব বেশি অদ্ভুততা সিভিএসের সাথে আলাপচারিতা দেখেছি))


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

14
আরও দেখুন github.com/agis-/git-style-guide
Agis


18
স্ট্যাকএক্সচেঞ্জ নেটওয়ার্কের মধ্যে এই ধরণের প্রশ্নের জন্য একটি জায়গা থাকা দরকার। কেউ বিরক্তিকরভাবে বিরক্ত হয় যখন কেউ এইরকম ভাল প্রশ্ন জিজ্ঞাসা করে এবং তারপরে এটি নিয়ম না মানার জন্য বন্ধ হয়ে যায়। যদি এটি চলতে থাকে তবে সম্ভবত এই ধরণের প্রশ্নগুলিকে কোনওভাবে সমর্থন করার প্রয়োজনের সংকেত দেওয়া উচিত। কেবলমাত্র এগুলি ওভারফ্লো সাইটের মধ্যেই প্রয়োগ করতে হবে কারণ তারা প্রোগ্রামিং ধরণের প্রশ্নের সাথে এত ঘনিষ্ঠভাবে জড়িত। আমার কাছে ওভারফ্লো, "উদ্দেশ্যমূলক উত্তরযোগ্য প্রশ্নগুলির" জন্য নয় (খুব নির্দিষ্ট) এটি "প্রোগ্রামিং প্রশ্নসমূহ" questions
নিক রেজ

@ উইম আমরা জিরা ইস্যু কীগুলি ব্যবহার করি, একটি সংক্ষিপ্ত শিরোনামের সাথে মিলিত উদাহরণস্বরূপ:KEY-1234/allow-users-to-do-smart-stuff
রবউউ 8:37

উত্তর:


937

আমি কয়েকটি শাখা নামকরণের সম্মেলনগুলি ব্যবহার করি যা আমি ব্যবহার করি এবং এর কারণগুলি

শাখার নামকরণের সম্মেলন

  1. আপনার শাখার নামের শুরুতে গ্রুপিং টোকেন (শব্দ) ব্যবহার করুন।
  2. আপনার কার্যপ্রবাহের জন্য অর্থপূর্ণ এমনভাবে শাখাগুলি আলাদা করতে সংক্ষিপ্ত সীসা টোকেনগুলি ব্যবহার করুন এবং ব্যবহার করুন।
  3. আপনার শাখার নামের পৃথক অংশে স্ল্যাশ ব্যবহার করুন।
  4. শীর্ষস্থানীয় অংশ হিসাবে খালি সংখ্যা ব্যবহার করবেন না।
  5. দীর্ঘস্থায়ী শাখার জন্য দীর্ঘ বর্ণনামূলক নামগুলি এড়িয়ে চলুন।

গ্রুপ টোকেন

আপনার শাখার নামের সামনে "গোষ্ঠীকরণ" টোকেন ব্যবহার করুন।

group1/foo
group2/foo
group1/bar
group2/bar
group3/bar
group1/baz

আপনার কর্মপ্রবাহের সাথে মেলে যা পছন্দ তাই গোষ্ঠীগুলির নাম দেওয়া যেতে পারে। আমি আমার জন্য সংক্ষিপ্ত নাম ব্যবহার করতে চাই আরও স্পষ্টতা জন্য পড়ুন।

সংক্ষিপ্ত সুস্পষ্ট সংজ্ঞাযুক্ত টোকেন

সংক্ষিপ্ত টোকেনগুলি চয়ন করুন যাতে তারা আপনার শাখার প্রত্যেকটির নামের সাথে খুব বেশি শব্দ না যোগ করে। আমি এগুলি ব্যবহার করি:

wip       Works in progress; stuff I know won't be finished soon
feat      Feature I'm adding or expanding
bug       Bug fix or experiment
junk      Throwaway branch created to experiment

এই প্রতিটি টোকেন প্রতিটি শাখার আপনার কর্মপ্রবাহের কোন অংশের তা আপনাকে জানাতে ব্যবহার করা যেতে পারে।

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

new/frabnotz
new/foo
new/bar
test/foo
test/frabnotz
ver/foo

প্রতিটি শাখাগুলি প্রতিটি আলাদা পর্যায়ে পৌঁছেছে তা আপনি তাড়াতাড়ি বলতে পারেন এবং গিটের প্যাটার্ন মেলানো বিকল্পগুলি ব্যবহার করে আপনি সহজেই তাদের একসাথে গ্রুপ করতে পারেন।

$ git branch --list "test/*"
test/foo
test/frabnotz

$ git branch --list "*/foo"
new/foo
test/foo
ver/foo

$ gitk --branches="*/foo"

পৃথক অংশে স্ল্যাশ ব্যবহার করুন

আপনি শাখার নামগুলিতে আপনার পছন্দ মতো সবচেয়ে বেশি ডিলিমিটার ব্যবহার করতে পারেন তবে আমি স্ল্যাশগুলি সবচেয়ে নমনীয় বলে মনে করি। আপনি ড্যাশ বা বিন্দু ব্যবহার করতে পছন্দ করতে পারেন। কিন্তু স্ল্যাশগুলি আপনাকে রিমোট থেকে / থেকে পুশ করা বা আনার সময় কিছু শাখা নামকরণ করতে দেয়।

$ git push origin 'refs/heads/feature/*:refs/heads/phord/feat/*'
$ git push origin 'refs/heads/bug/*:refs/heads/review/bugfix/*'

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

$ git checkout new<TAB>
Menu:  new/frabnotz   new/foo   new/bar


$ git checkout foo<TAB>
Menu:  new/foo   test/foo   ver/foo

(জেড শেল কমান্ড সমাপ্তি সম্পর্কে খুব কনফিগারযোগ্য এবং আমি ড্যাশগুলি, আন্ডারস্কোরগুলি বা বিন্দুগুলি একইভাবে পরিচালনা করতেও এটিটি কনফিগার করতে পারি But তবে আমি তা বেছে নিই না))

এটি আপনাকে অনেকগুলি গিট কমান্ডে শাখাগুলি অনুসন্ধান করতে দেয়:

git branch --list "feature/*"
git log --graph --oneline --decorate --branches="feature/*" 
gitk --branches="feature/*" 

কেভেট: স্লিপ মন্তব্যগুলিতে যেমন উল্লেখ করেছেন, স্ল্যাশ সমস্যার কারণ হতে পারে। শাখাগুলি পাথ হিসাবে প্রয়োগ করা হয়েছে, আপনার "foo" নামে একটি শাখা এবং "foo / বার" নামে অন্য একটি শাখা থাকতে পারে না। এটি নতুন ব্যবহারকারীদের জন্য বিভ্রান্তিকর হতে পারে।

খালি সংখ্যা ব্যবহার করবেন না

আপনার শাখার নামকরণ প্রকল্পের অংশ হিসাবে খালি সংখ্যা (বা হেক্স নম্বর) ব্যবহার করবেন না। একটি রেফারেন্স নামের ট্যাব-প্রসারণের অভ্যন্তরে গিট সিদ্ধান্ত নিতে পারে যে কোনও সংখ্যা একটি শাখার নামের পরিবর্তে শ -1 এর একটি অংশ। উদাহরণস্বরূপ, আমার ইস্যু ট্র্যাকার দশমিক সংখ্যা সহ বাগের নাম দেয়। আমি বিভ্রান্তি এড়াতে কেবল nnnnn এর চেয়ে আমার সম্পর্কিত শাখার নাম CRnnnnn করি।

$ git checkout CR15032<TAB>
Menu:   fix/CR15032    test/CR15032

আমি যদি মাত্র 15032 প্রসারিত করার চেষ্টা করি, তবে SHA-1 এর বা শাখার নামগুলি অনুসন্ধান করতে চাই কিনা তা সম্পর্কে গিটটি নিশ্চিত নয় এবং আমার পছন্দগুলি কিছুটা সীমাবদ্ধ থাকবে।

দীর্ঘ বর্ণনামূলক নাম এড়িয়ে চলুন

আপনি যখন শাখাগুলির একটি তালিকা দেখছেন তখন দীর্ঘ শাখার নামগুলি খুব সহায়ক হতে পারে। শাখার নামগুলি একক লাইনের বেশিরভাগ অংশ খেয়ে ফেলতে পারে এবং লগের দৃশ্যমান অংশটিকে সংক্ষিপ্ত করতে পারে এমনভাবে সজ্জিত এক-লাইন লগগুলিতে তাকানোর সময় এটি পেতে পারে।

অন্যদিকে দীর্ঘ শাখার নামগুলি যদি আপনি অভ্যাসগতভাবে হাত দ্বারা পুনরায় লেখেন না তবে "মার্জ কমিটগুলি" করতে আরও সহায়ক হতে পারে। ডিফল্ট মার্জ কমিট বার্তাটি Merge branch 'branch-name'। আপনি মার্জ হওয়া বার্তাগুলিকে ন্যায়বিচারের Merge branch 'fix/CR15032/crash-when-unformatted-disk-inserted'পরিবর্তে দেখাতে আরও সহায়ক হতে পারেন Merge branch 'fix/CR15032'


156
এর মতো ফর্মগুলির মিশ্রণটি ব্যবহার করার একটি খারাপ দিক bug/20574/frabnotz-finderএবং bug/20424এটি হ'ল একবার আপনি সাব-টোকেন ছাড়া শুরু করলে আপনি পরে যুক্ত করতে পারবেন না এবং বিপরীতে। ইজি: আপনি যদি একটি bug/20424শাখা তৈরি করেন , আপনি bug/20424/additional-fixingপরে কোনও শাখা তৈরি করতে পারবেন না (আপনি যদি bug/20424শাখাটি মোছা না করেন )। তেমনিভাবে, যদি bug/20574/frabnotz-finderইতিমধ্যে একটি শাখা থাকে তবে আপনি একটি bug/20574শাখা তৈরি করতে পারবেন না । আমি হয় ব্যবহার করার জন্য এই (যেমন মত ক্ষেত্রে একটি অ-উপ-টোকেন বিভেদক ঝোঁক bug/20574_frabnotz-finder), অথবা উপ-টোকেন (যেমন জন্য একটি ডিফল্ট নাম চয়ন bug/20424/main)।
স্লিপ ডি থম্পসন

5
ডিরেক্টরি গানের জিইউআই-ভিত্তিক কিছু সরঞ্জামকে ডিরেক্টরি তালিকা দেখার মত টোকেন বিভাগকে সংকুচিত করার জন্য অনুরোধ জানাতেও এটির সুবিধা রয়েছে। উপরের উদাহরণে, আপনি একটি দেখতে না featureগ্রুপ এবং একটি bugগ্রুপ, বিস্তারযোগ্য দেখানোর জন্য foo, barসাবেক এবং জন্য ট্যাগ 20574, 20592গোষ্ঠী এবং 20424, 21334ট্যাগ পরেরটির জন্য।
স্লিপ ডি থম্পসন

47
গিট শাখার নামকরণে কখনও স্ল্যাশ ব্যবহার না করার জন্য আমি একটি প্রচার শুরু করব। এর কারণ হ'ল উদাহরণস্বরূপ যদি কোনও সিআই-তে থাকে, উদাহরণস্বরূপ প্যাকেজিং কোডের সময় আপনি শাখার নাম উল্লেখ করতে চান, আপনি ইউরি বা প্যাথ তৈরি করার সময় শাখার নাম উল্লেখ করতে চান (উদাহরণস্বরূপ), সম্ভবত বিল্ডিং ব্যাশ স্ক্রিপ্টে একটি ইউরি; ইউআরএল অংশ যোগ করার কারণে আপনার স্ল্যাশের কারণে ইউরি তৈরি করতে সমস্যা হবে। হ্যাঁ স্ল্যাশ প্রতিস্থাপন করা তার পক্ষে সম্ভব তবে এটি আমাকে সাজানোর জন্য অনেক বেশি সময় নিতে চলেছে।
অ্যাডাম স্পেন্স

13
এটি কি এমন সমস্যা যে ফরোয়ার্ড স্ল্যাশগুলির কিছু ক্ষেত্রে গিটের জন্য অর্থ রয়েছে? উদাহরণস্বরূপ, প্রতিক্রিয়া হিসাবে git branch -a, এবং পেয়ে remotes/origin/masterইত্যাদি I যখন আমি দেখি গিট আমাকে একটি শাখা সম্পর্কে বলছে, আমি ফরোয়ার্ড স্ল্যাশ ব্যবহার করি না এবং তাই যখন আমি একটি দেখি, আমি জানি এটি একটি "বিশেষ" রেফারেন্স।
ডগওয়েদার

11
আপনি foo এবং বার দয়া করে কিছু উদাহরণ ব্যবহার করতে পারেন?
মূল্যবান 7

329

ভিনসেন্ট ড্রাইসেনের একটি সফল গিট ব্রাঞ্চিং মডেল সম্পর্কে ভাল পরামর্শ রয়েছে। নীচে একটি ছবি। যদি এই শাখা প্রশাখার মডেল আপনার কাছে আবেদন করে তবে গিট প্রবাহের প্রসারকে বিবেচনা করবে । অন্যরা প্রবাহ সম্পর্কে মন্তব্য করেছেন

ড্রিসেনের মডেলের অন্তর্ভুক্ত

  • কেবলমাত্র মুক্তির জন্য ব্যবহৃত একটি মাস্টার শাখা। সাধারণ নাম master

  • একটি শাখা "বিকাশ" শাখা বন্ধ। এটি বেশিরভাগ মূল-লাইন কাজের জন্য ব্যবহৃত হয়। সাধারণভাবে নামে develop

  • একাধিক বৈশিষ্ট্যযুক্ত শাখা বিকাশকারী শাখার বাইরে। বৈশিষ্ট্যের নামের উপর ভিত্তি করে নাম। এগুলি আবার মাস্টার বা রিলিজ শাখায় নয়, বিকাশে পুনরায় একত্রিত হবে।

  • কেবল বাগ ফিক্স এবং কোনও নতুন বৈশিষ্ট্য সহ প্রার্থীদের রিলিজ রাখতে রিলিজ শাখা সাধারণ নাম rc1.1

হটফিক্সগুলি হ'ল পরিবর্তনের জন্য স্বল্প-স্থায়ী শাখা যা মাস্টার থেকে আসে এবং উন্নয়নের শাখায় জড়িত না হয়ে মাস্টার হয়ে যাবে।

এখানে চিত্র বর্ণনা লিখুন


128
কেবলমাত্র এটি প্রশ্নের সমাধান করে না, যেহেতু এটি ব্যবহারকারীর উপরে নামকরণের প্রচুর পরিমাণ ছেড়ে যায়, বিশেষত বৈশিষ্ট্য শাখাগুলির জন্য (তারা "মাস্টার, বিকাশ, মুক্তি
ব্রায়ান

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

2
যদিও ভাল তথ্য এই উত্তরটি কনভেনশন নামকরণের পরিবর্তে প্রবাহের প্রশ্নকে সম্বোধন করে। আমি মনে করি যে ওপি প্রকৃত শব্দগুলি কী ব্যবহার করতে হবে (বিশেষ্য বনাম ক্রিয়াপদ),
ডিলিমিটর

6
কন্টিনিউস ডেলিভারি (পি। ৩)) বইটি যুক্তি দেয় যে এই মডেলটি একটানা একীকরণের জন্য একধরনের বিরোধী, ... মূলত এটি আসলে "চটচটে" নয়।
মার্কন

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

56

আমার ব্যক্তিগত পছন্দ হ'ল আমি একটি শাখা তৈরি করার পরে শাখার নাম মুছে ফেলা।

শাখার অর্থ ব্যাখ্যা করার জন্য শাখার নামটি ব্যবহার করার চেষ্টা করার পরিবর্তে, আমি সেই শাখায় প্রথম শাখায় “শাখা:” দিয়ে প্রতিশ্রুতিবদ্ধ বার্তার বিষয়বস্তুটি শুরু করি এবং যদি বিষয়টি থাকে তবে বার্তার মূল অংশে আরও ব্যাখ্যা অন্তর্ভুক্ত করি আমাকে যথেষ্ট জায়গা দেয় না

আমার ব্যবহারের শাখার নামটি কাজ করার সময় কোনও বিষয় শাখার উল্লেখ করার জন্য খাঁটিভাবে একটি হ্যান্ডেল। বিষয় শাখায় কাজটি শেষ হয়ে গেলে, আমি শাখার নামটি থেকে মুক্তি পাই, কখনও কখনও পরে রেফারেন্সের জন্য কমিট ট্যাগ করি।

এটি আউটপুটকে git branchআরও দরকারী করে তোলে : এটি কেবল দীর্ঘকালীন শাখা এবং সক্রিয় বিষয় শাখা তালিকাভুক্ত করে, সমস্ত শাখা কখনও নয়।


53

আমি যে বিভিন্ন স্কিম দেখেছি সেগুলি থেকে মিশ্র করেছি এবং তার সাথে মিল রেখেছি এবং আমি যে সরঞ্জামগুলি ব্যবহার করছি তার উপর ভিত্তি করে।
সুতরাং আমার সম্পূর্ণ শাখার নাম হবে:

নাম / বৈশিষ্ট্য / ইস্যু-যে ব্যক্তি অনুসরণ করে-নম্বর / স্বল্প বিবরণ

যা অনুবাদ করতে হবে:

মাইক / ব্লগ / RSSI-12 / লোগো-ফিক্স

অংশগুলি ফরোয়ার্ড স্ল্যাশ দ্বারা পৃথক করা হয়েছে কারণ সেগুলি সহজ সংস্থার জন্য সোর্স ট্রি এ ফোল্ডার হিসাবে ব্যাখ্যা করা হয়। আমরা জিরাকে আমাদের ইস্যু ট্র্যাকিংয়ের জন্য ব্যবহার করি যাতে নম্বর সহ সিস্টেমটিতে সন্ধান করা সহজ হয়। এই সংখ্যাটি অন্তর্ভুক্ত করাও যখন গিথুবের ভিতরে একটি সমস্যা অনুরোধ জমা দেওয়ার চেষ্টা করা হয়েছিল তখন সেই সমস্যাটি খুঁজে পাওয়ার চেষ্টা করার সময় এটি অনুসন্ধানযোগ্য করে তোলে।


কমিট মেসেজের বাগ / ফিচার নম্বর বাদে আমি একই (গিটহাবের জন্য -> পিভোটাল ট্র্যাকার একীকরণের জন্য)।
লিও

আমি ভাবছি আরএসআই মানে কী?
রেনশুকি

@ রেনশুকি এটি কেবল একটি জেনেরিক জিরা প্রকল্প কী। আপনি যে কোনও ইস্যু ট্র্যাকারই ব্যবহার করুন না কেন, টিকিটের আইডি
--োকান

@ মাইকজি নির্ভুলতার জন্য আপনাকে ধন্যবাদ!
রেনশুকি

3
name/feature/issue-tracker-number-short-description
বিবরণীর

22

এটি প্রতিটি কাজের জন্য কেন তিনটি শাখা / মার্জ নেয়? আপনি কি সম্পর্কে আরও ব্যাখ্যা করতে পারেন?

আপনি যদি বাগ ট্র্যাকিং সিস্টেম ব্যবহার করেন তবে আপনি শাখার নামের অংশ হিসাবে বাগ নম্বরটি ব্যবহার করতে পারেন। এটি শাখার নামগুলিকে অনন্য রাখবে এবং আপনি একটি ছোট বা বর্ণনামূলক শব্দের সাথে তাদের প্রাক-পাঠযোগ্য, যেমন মানুষের পাঠযোগ্য রাখার উপস্থাপন করতে পারেন "ResizeWindow-43523"। আপনি শাখা পরিষ্কার করতে গিয়ে জিনিসগুলিকে আরও সহজ করতে সহায়তা করে, কারণ আপনি সম্পর্কিত বাগটি সন্ধান করতে পারেন। এইভাবে আমি সাধারণত আমার শাখাগুলির নাম রাখি।

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


12

দ্রষ্টব্য, কমিট e703d7 বা B6c2a0d (মার্চ ২০১৪) এর প্রতিশ্রুতি অনুসারে, এখন গিট ২.০ এর অংশ, আপনি আরেকটি নামকরণের সম্মেলন পাবেন (যা আপনি শাখাগুলিতে প্রয়োগ করতে পারেন))

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

একটি শাখার নামের স্থান থাকতে পারে না (দেখুন " কোন শাখার নামের মধ্যে অক্ষরগুলি অবৈধ? " এবং git check-ref-formatম্যান পৃষ্ঠা )

সুতরাং প্রতিটি শাখার নামের জন্য যেগুলি বহু-শব্দের দ্বারা প্রকাশিত হবে, -বিভাজক হিসাবে ' ' (ড্যাশ) ব্যবহার করা ভাল ধারণা।


7

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

যদি আপনার শাখাটি কোনও সংস্করণ উপস্থাপন করে তবে দেখা যাচ্ছে যে সাধারণ সম্মেলনটি শাখার নামগুলির জন্য xxx (উদাহরণস্বরূপ: "1.0.0") ফর্ম্যাট এবং ট্যাগের নামগুলির জন্য vx.xx (উদাহরণস্বরূপ "v1.0.0") ব্যবহার করবেন (সংঘাত এড়াতে) । আরও দেখুন: গিট-ট্যাগের জন্য রয়েছে একটি মান-নামকরণ-কনভেনশন


1
দ্বন্দ্ব নিয়ে কোন সমস্যা আছে কি? যদি উদ্দেশ্যটি কোনও v1.2.4শাখার শেষ অবধি কোনও v1.2.4ট্যাগ সহ একটি শেষ পয়েন্টে নিয়ে যায় (আমি কি এই পরিস্থিতিটি ধরে ধরে সঠিক করছি যেখানে আপনি উভয়ই একটি সংস্করণের পরে শাখা এবং ট্যাগের নাম দিচ্ছেন) , তাহলে কি বিষয়টি বিবেচনা করে? ট্যাগটি এখনও পৌঁছে যেতে পারে refs/tags/v1.2.4এবং শাখায় এটি পৌঁছে যেতে পারে refs/heads/v1.2.4এবং এটি অস্পষ্ট হওয়ার পরে গিট ট্যাগটির নামটি পছন্দ করবে (একটি সতর্কতা সহ)।
স্লিপ ডি। থম্পসন

1
সংস্করণ উদাহরণের জন্য, যেমনটি আমি আমার উত্তরে উল্লেখ করেছি, প্রস্তাবিত অনুশীলনটি শাখা নয়, ট্যাগ নামের জন্য "ভি" দিয়ে উপসর্গ করা। অসম্পূর্ণতা এড়ান যদি আপনি ভুল নির্দেশনা এড়াতে পারেন এবং কারণ এটি পরবর্তী সর্বশেষতম এবং সর্বশ্রেষ্ঠ ভিসিএস যা-ই হোক না কেন অভিমুখে যাত্রাপথে সমস্যা সৃষ্টি করতে পারে।
গ্যারি এস ওয়েওয়ার

2
আমি সম্প্রতি এমন একটি রেপোতে কাজ করেছি যেখানে আমরা প্রতিটি সংস্করণ শাখাকে একই নামের ট্যাগ সহ বন্ধ করে দিয়েছি। এটি যথেষ্ট ভাল কাজ করেছে কারণ অস্পষ্টতার খুব কম কিছু নেই (ট্যাগটি বেশিরভাগ ক্ষেত্রে সংশ্লিষ্ট শাখায় শেষ প্রতিশ্রুতি দেয়) এবং যখন সেখানে উপস্থিত হতে পারে, গিট "সঠিক কাজটি করে" (একটি সতর্কতা সহ)। আমি এটিকে পছন্দ করি কারণ যদি কেউ হাড়-মাথাযুক্ত ভুল করে এবং আরও ক্যাপড-অফ শাখায় অঙ্গীকার করে তবে গিট ট্যাগটি বেছে নেওয়া চালিয়ে যাবে, যা অভিপ্রায়। যখন সিস্টেমের নিয়ন্ত্রণে থাকা সমস্ত কিছু থাকে এবং অভিপ্রায়টি স্পষ্ট থাকে তখন অস্পষ্টতা জিনিসগুলিকে সহজ করে তুলতে পারে।
স্লিপ ডি থম্পসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.