জন পুরীর সঠিক ধারণা আছে। git flow
এই শাখাগুলির প্রকৃত পরিচালনাও সহজ করে তোলে এবং শাখা পরিচালনাও সরানোর পক্ষে যুক্তি git
।
এর মৌলিক ভগ্নস্বাস্থ্য শিঠ্ট দিয়ে শুরু করা যাক git
, যেহেতু আপনার কাছ থেকে আসছে svn
-to- git
দৃষ্টিকোণ। git
নিম্নলিখিত বিবেচনা করুন :
master--...............-.....-..............-
\ / / /
---develop---------............../
\ /
--feature---
সর্বোপরি, আপনি শাখায় বিভক্ত master
করার develop
(দ্বারা প্রকাশ \
), এবং শাখা develop
একটি থেকে feature
শাখা। আমরা সেই শাখাগুলিকে ব্যাক আপ (দ্বারা চিহ্নিত /
), -
একটি শাখার সাথে কমিট ( ) দিয়ে মার্জ করি । (যদি কোনও প্রতিশ্রুতি না থাকে তবে মার্জটি ডান দিকে যাওয়ার উপায় রয়েছে, সেখানে .
পরবর্তীটি -
পরবর্তী প্রতিশ্রুতিবদ্ধ তা দেখানোর জন্য সূচক রয়েছে )।
যথেষ্ট সহজ আমাদের মূল প্রকাশে যদি হটফিক্স থাকে?
master--...............-.....-................-...........-.........-
\ / / / \ /| /
\ / / / -hotfix-- V /
---develop---------............../..............-...----
\ / \ V /
--feature--- --feature2...----
উপরে, develop
শাখা থেকে master
। যে বাগটি আবিষ্কার হয়েছিল master
তা শাখা থেকে ঠিক করে master
এবং এটিতে আবার মার্জ করে ঠিক করা হয়েছিল master
। আমরা তখন মার্জ master
মধ্যে develop
, এবং তারপর develop
মধ্যেfeature2
, যা থেকে নতুন কোড ঘূর্ণিত hotfix
এই শাখা মধ্যে।
আপনি যখন feature2
আবার মার্জ হয়ে যান develop
, এর ইতিহাসটি এর develop
সাথে অন্তর্ভুক্ত থাকে hotfix
। তেমনিভাবে, নতুন develop
কোডটির feature2
সাথে মিশে গেছে master
, সুতরাং কোনও সংযোজন ছাড়াই develop
ফিরে মার্জ হয়ে যাওয়া master
হবে, কারণ এটি master
সেই সময়ে করা সেই প্রতিশ্রুতির উপর ভিত্তি করে — যেন আপনি master
সেই বিন্দু থেকে শাখা করেছিলেন ।
সুতরাং এটি করার অন্য একটি উপায়।
master--..........-........-
\ /\ /
---1.0-- --1.1--
তোমার 1.0 রিলিজ tagged- পেতে 1.0.1
, 1.0.2
, 1.0.3
, এবং তাই ঘোষণা।
এখন এখানে একটি কৌশল: আপনি 1.0 এ একটি বাগ খুঁজে পেয়েছেন এবং এটি 1.1, 1.2 এবং 1.3 কে প্রভাবিত করে। আপনি কি করেন?
আপনি আপনার সর্বশেষতম বা প্রাথমিক রক্ষণাবেক্ষণ প্রকাশ বন্ধ করুন এবং এটি ঠিক করুন। তারপর আপনি আপনার নতুন একত্রীকরণ hotfix
মধ্যে শাখা 1.3
মধ্যে -আর 1.2
, 1.1
এবং 1.0
। রক্ষণাবেক্ষণ সংস্করণের প্রতিটি শাখা থেকে শাখা করবেন না; মার্জ না 1.0
মধ্যে master
বা একত্রীকরণ master
ফিরে 1.0
। একটি hotfix
শাখা নিন এবং এটি আপনার সমস্ত সংস্করণ শাখায় মার্জ করুন। যদি কোন্দল হয় তবে তা আপনাকে বলবে; পরিবর্তনগুলি সঠিক কিনা তা নিশ্চিত করতে আপনার কোডটি পর্যালোচনা করুন ( git diff
এটি আপনার বন্ধু)।
এখন সুনির্দিষ্ট পরিবর্তনটি সর্বত্র প্রয়োগ করা হয়েছে। বংশ ব্রাঞ্চ করা হয়েছে, তবে ঠিক আছে। এটা হাফিজার্ড নয়। 1.3
1.3.17 হিসাবে শিরোনামটি ট্যাগ করুন , এটিকে ব্রাঞ্চযুক্ত প্রতিটি বৈশিষ্ট্যে-অগ্রগতিতে মার্জ 1.3
করুন এবং এগিয়ে যান।
git flow
এক্সটেনশন আপনার জন্য এই রক্ষণাবেক্ষণ, বৈশিষ্ট্য, এবং hotfix শাখা পরিচালনা করতে সাহায্য করে। ওয়ার্কফ্লোটি একবার ডাউন হয়ে গেলে, এটি তুচ্ছ এবং উত্স কোড পরিচালনার বাইরে বিপুল পরিমাণ সমস্যায় পড়ে takes
আমি প্রোগ্রামিং দলগুলিতে এটি দেখেছি, তবে আমি নিজে একজন প্রোগ্রামার হিসাবে এত গভীরভাবে কাজ করি নি, তাই আমি এখনও দিনের বেলা ওয়ার্কফ্লো নিজেই মাথা ঘুরে দেখছি।
git
প্রতিটি সফল বিল্ডের পরে স্বয়ংক্রিয়ভাবে একটি ট্যাগ যুক্ত করতে পারবেন ? এটির অতিরিক্ত সুবিধা হ'ল এটি এটি পরিষ্কারgit
করে দেয় যে কোন অঙ্গীকারগুলি তৈরির বিষয়টি বা পরীক্ষায় ব্যর্থতা রয়েছে, যেহেতু তারা ট্যাগবিহীন থাকবে।