git - একটি বেসিক গিট ওয়ার্কফ্লো বোঝার/নির্ধারণ করার চেষ্টা করা



github merge (1)

আমার নিজের গিট ওয়ার্কফ্লোটি চেষ্টা এবং খসড়া করার জন্য আমি এই জনপ্রিয় নথিটি বারবার পড়ছি reading

আমি মনে করি আমি এটি নামিয়ে ফেলেছি তবে আমি এখনও কিছুটা হারিয়েছি। এখানে আমার বর্তমান বোঝাপড়া ...



আমাদের দুটি শাখা রয়েছে যা সর্বদা সক্রিয় থাকবে।

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


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

  • বিষয় শাখা 1: বৈশিষ্ট্য-আজাক্সাইফাই-শপিং-কার্ট
  • বিষয় শাখা 2: বাগফিক্স-নাবার-ফন্ট-ওভারল্যাপিং


রিলিজ প্রস্তুত করুন

  • আমাদের একসাথে 1 টি রিলিজ শাখা রয়েছে যা বৈশিষ্ট্য শাখা থেকে শাখা করা হবে।
  • এখন আমরা সমস্ত বৈশিষ্ট্যগুলি, বাগ ফিক্সগুলি ইত্যাদি টান / একীভূত করি আমরা পরবর্তী প্রকাশে ধাক্কা দিতে চাই।
  • আমরা যে বৈশিষ্ট্যগুলি নিয়ে কাজ করে চলেছি তা পরবর্তী প্রকাশে না আসতে পারি (আমার মনে হয়)।


রিলিজ তৈরি করা হচ্ছে

  • রিলিজের সাথে সন্তুষ্ট হয়ে যাওয়ার পরে আমরা সেই রিলিজ শাখাটিকে মাস্টার শাখায় একীভূত করতে পারি এবং কমিটের নাম 'v1.2.0' এর মতো করব।
  • 'V1.2.0' এর সাথে যে প্রতিশ্রুতিবদ্ধ তা আমরা ট্যাগ করতে চাই যাতে আমরা সহজেই সময়মতো ফিরে যেতে পারি এবং রিলিজগুলি দেখতে পারি।


পাশের নোটগুলি আমি শিখেছি

মাস্টার শাখাটি সর্বদা সুন্দর এবং পরিষ্কার থাকে এবং কেবলমাত্র প্রকাশিত কমিট থাকে (আমার মনে হয় আমাদের আলাদা প্রকাশের শাখা কেন আছে, তাই না?)।

দয়া করে আমাকে জানতে দিন যে আমি কোথায় গণ্ডগোল করেছি বা কিছু ভুল ব্যাখ্যা করেছেন ইত্যাদি। ধন্যবাদ!




আপনার সারাংশ সঠিক: আপনি এই চিট শীটে চিত্রিত সন্ধান করতে পারেন।

আপনার বৈশিষ্ট্যটি git flow feature finish MYFEATURE সাথে পরীক্ষা করার জন্য আপনাকে সচেতন হতে হবে তবে আপনাকে সেগুলি বিকাশে মার্জ করতে হবে ( git flow feature finish MYFEATURE )।
আরও একটি ওয়ার্কফ্লো রয়েছে ( গিট ওয়ার্কফ্লো ) যা আরও ভাল বৈশিষ্ট্য প্রচারের জন্য বিকাশ করে (বিকাশ করতে পারে, তারপরে মুক্তি দিতে পারে)

পার্থক্য হল:

  • গিট প্রবাহের সাথে একাধিক feature শাখাগুলি ডেভেলের সাথে একত্রীকরণ করা হয় (যেখানে তারা আবিষ্কার করে যে তারা একসাথে কাজ করতে পারে কিনা), তারপরেই devel (এবং সেই সাথে master ) একীভূত হওয়ার পূর্বে devel থেকে release সৃষ্টি হয় (যেখানে বৈশিষ্ট্যগুলি অপসারণ জটিল হয়) release
  • গিট ওয়ার্কফ্লো সহ :
    • feature শাখাগুলি একটি " public " "আলফা" শাখায় একত্রীকরণ করা হয়, যা প্রতিটি রিলিজের পরে পুনরায় সেট করা হয় (যার অর্থ, নতুন রিলিজের শীর্ষে মুছে ফেলা / পুনরায় তৈরি করা হয়)
    • তারপরে সেই একই feature শাখার একটি উপসেট একীকরণ / গ্রহণযোগ্যতা পরীক্ষার জন্য " next " ("বিটা") শাখায় একীভূত হয়। সেই " next " ("বিটা") শাখাটি একইভাবে প্রতিটি নতুন রিলিজের পরে master শীর্ষে পুনরায় তৈরি করা হয়।
    • তারপরে পরের রিলিজটি প্রস্তুত করার জন্য feature শাখার একটি উপ-সাবসেট master সাথে মার্জ করা হবে।

" public " এবং " next " (ওরফে ' devel ') শাখাগুলি কখনই master একীভূত হয় না। এগুলি "ক্ষণস্থায়ী" বা "সাময়িক", সর্বদা মোছা / পুনরায় তৈরি করা হয়।
শুধুমাত্র feature শাখাগুলি লাইফসাইকেল শাখাগুলিতে ( public , next , master ) মার্জ করা হয়। এর অর্থ যে কোনও সময় আপনি উন্নয়নের জীবনচক্রের এক পর্যায়ে এবং পরবর্তী পর্যায়ে একটি feature বাদ দিতে বেছে নিতে পারেন।






version-control