গিট-ফ্লও ফিচার

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

ধরি আমাদের প্রোজেক্টের নামে হেলো "গিট-ফ্লও (Hello Git-Flow)" আমাদের কাছে নিন্মলিখিত ফিচারগুলো আছেঃ

  • HGT-01: Bootstrap Hello Git-Flow project
  • HGT-02: Create login with Username and Password
  • HGT-03: Create user signup
  • HGT-04: Create forget Password
  • HGT-05: Homepage with login and Signup option

এখন, আমরা একটা একটা করে ফিচারে কাজ শুরু করব,গিট-ফ্লও (git-flow) ফিচার ব্যবহার করে।

ধাপ-০১

সবার আগে আমরা HGT-01 ফিচার নিয়ে কাজ শুরু করব। এজন্য আমরা কমান্ড লিখব

git-flow feature start HGT-01

এরপর আমরা নিছের ছবির মত একটা মেসেজ দেকতে পাব,

git-flow-feature-start

এখানে আমরা যেটা দেখতে পারছি, তা হোল, সবার আগে develop নামে যে ব্রাঞ্চ (branch) আছে, তার উপর নির্ভর করে একটা নতুন ব্রাঞ্চ (branch) feature/HGT-01 তৈরি হয়েছে। এরপর স্বয়ংক্রিয় ভাবে,ওই ব্রাঞ্চে (branch) পয়েন্ট করে ফেলেছে।

ধাপ-০২

এখন আমরা ফিচার ডেভেলপমেন্টের কাজ করব এবং ক্রমান্বয়ে কমিট করব, যেভাবে আমরা গিটে (git) কমিট করতাম। আমরা যত পরিবর্তন করব, সবই আমাদের বর্তমান ফিচার (featuere) ব্রাঞ্চ এ যোগ হতে থাকবে। ধরি,

একটা নতুন ফাইল বানাব কারেন্ট ফিচারের জন্য

touch project-config.php

এবার এই ফাইলে কিছু পরিবর্তন করব, মানে কিছু লেখা যোগকরব

nano project-config.php

এবার আমরা ফাইলটা গিটে যোগ করব এবং গিটে কমিট করব

git add project-config.php
git commit -m "project configuration file is added"

ধাপ-০৩

এবার ধরে নিলাম আমাদের ফিচার feature ডেভেলপমেন্টের কাজ শেষ। এখন আমরা গিট-ফ্লও দিয়ে আমাদের ফিচার কমপ্লিট করব।

git-flow feature finish HGT-01

এই কমান্ড চালানোর পর আমরা নিছের ছবির মত একটা মেসেজ দেকতে পারব

git-flow-feature-finish

গিট-ফ্লও ফিচার পাবলিশ

আমরা যদি মনে করি, কন একটা ফিচার ব্রাঞ্চে অন্য কেউ কাজ করবে, তাহলে আমারা চাইলে গিটে আপ করে দিতে পারি।এজন্য আমরা নিচের কমান্ডটা রান করবঃ

  git-flow feature publish HGT-01

এই কমান্ড চালানোর পর নিচের মত একটা স্ক্রীন দেখা যাবে।

git-flow-feature-finish