যদিও এটি একটি স্বীকৃত উত্তর সহ একটি পুরানো প্রশ্ন, আমি বিশ্বাস করি যে এখনও অন্য একটির জন্য জায়গা রয়েছে।
প্রথমত, আমি সামনে বলি যে আমি মনে করি না বৈশিষ্ট্যগুলি এই কাজের জন্য সঠিক সরঞ্জাম, এবং এটি বিকল্পগুলির একটি বিকল্প সেট প্রস্তাব করবে।
দলের সহযোগিতার একটি পূর্বশর্ত আপনার প্রোডাকশন সার্ভার থেকে পৃথক প্রকল্পের বিকাশ সংস্করণগুলি পরীক্ষা করার জন্য একটি মঞ্চ সার্ভার থাকা। সমস্ত ডেভলপমেন্ট কোডটি স্টেজিং সার্ভারে পরীক্ষা করা হয় এবং এটি স্থিতিশীল এবং স্থাপনার জন্য প্রস্তুত হলে কেবল উত্পাদন সার্ভারে ঠেলা যায়। তবে, বিকাশকারীরা সরাসরি স্টেজিং সার্ভারে কাজ করে না। প্রতিটি বিকাশকারী তার নিজের ওয়ার্কস্টেশনে কাজ করে, একটি রিভিশন কন্ট্রোল এবং সোর্স কোড ম্যানেজমেন্ট (এসসিএম) ব্যবহার করে তার কাজটি দলের বাকি সদস্যের সাথে সমন্বয় করতে।
এসসিএম সিস্টেম দলের সদস্যদের একে অপরের সাথে হস্তক্ষেপ না করে কোডের বিভিন্ন শাখায় সমান্তরালভাবে কাজ করার অনুমতি দেয় । পরীক্ষার উদ্দেশ্যে স্টেজিং সার্ভারে কেবলমাত্র মাস্টার শাখা মোতায়েন করা হয়।
উত্পাদন, মঞ্চায়ন এবং ওয়ার্কস্টেশনের মধ্যে ডেটাবেসকে আয়না করতে, ব্যাকআপ এবং মাইগ্রেট নামে একটি মডিউল রয়েছে যা আপনি যদি শেয়ার্ড হোস্টিংয়ে থাকেন এবং আপনার নিজের ডাটাবেস পরিচালনা না করে থাকেন তবে তা ব্যবহার করা যেতে পারে। আপনি যদি নিজের ডেটাবেস সার্ভার পরিচালনা করে থাকেন তবে এই সার্ভারে এটিই কেবলমাত্র একটি প্রকল্প এবং আপনি মাইএসকিএল ব্যবহার করেন , নিম্নলিখিত যুগলের কমান্ডগুলি কার্যকর:
ফেলা:
mysqldump --all-databases --opt -u root -p > DUMP.sql
পুনঃস্থাপন করা:
mysql -u root -p < DUMP.sql
সেই সার্ভারে যদি আপনার একমাত্র ডাটাবেস না থাকে তবে কিছু সংস্করণ mysqldump
(অথবা আপনি মাইএসকিএল ব্যবহার না করে থাকলে সমমানের ) স্ক্রিপ্ট করুন যা কেবলমাত্র আপনার ডাটাবেসগুলি ডাম্প করে।
একটি নীতি তৈরি করুন যে এটি প্রোডাকশন সার্ভারের ডেটাবেস যা মাস্টার। স্টেজিং সার্ভার এবং ওয়ার্কস্টেশনগুলি বিপরীতে নয়, প্রোডাকশন ডাটাবেসের একটি অনুলিপি হওয়া উচিত।
নোট করুন যে ড্রুপাল 7 এটির সমস্ত প্রশাসককে ডেটাবেজে রেখে দেয়। এর অর্থ হ'ল প্রোডাকশন সাইট, স্টেজিং সাইট এবং ওয়ার্কস্টেশনগুলির মধ্যে ডেটাবেসকে মিরর করা বৈশিষ্ট্যগুলি ছাড়াই প্রশংসনীয় সেটিংস স্থানান্তরিত করবে ।
এখন, কোডটি ভাগ করে নেওয়ার জন্য:
কোনও উন্নয়ন দলের সদস্যদের মধ্যে কোড ভাগ করার জন্য স্ট্যান্ডার্ড উপায় হ'ল এসসিএম সিস্টেম ব্যবহার করা। ডিগ্রিটি ডিফল্ট হতে পারে এমন একটি গিট নামক সিস্টেমের মাধ্যমে পরিচালিত হয় ।
গিট স্থানীয় বা দূরবর্তী সংগ্রহের ব্যবহারের অনুমতি দেয়। যদি টিমের সদস্যরা একই শারীরিক স্থানে থাকে তবে আপনি আপনার স্টেজিং সার্ভারে একটি স্থানীয় সংগ্রহস্থল সেট আপ করতে পারেন। যদি সেগুলি ভৌগোলিকভাবে ছড়িয়ে পড়ে তবে আপনি একটি রিমোট রিপোজিটিরি সেট আপ করতে পারেন। আপনি যদি অন্যদের বিকাশের অধীনে আপনার কোডটিতে পঠিত অ্যাক্সেস মনে করেন না তবে আপনি Drupal.org এ স্যান্ডবক্সটি রিমোট সংগ্রহস্থল হিসাবে ব্যবহার করতে পারেন । আপনি গিটহাবের একটি প্রকল্প অঞ্চলও ব্যবহার করতে পারেন । গিটহাব কেবলমাত্র একটি সংগ্রহশালা নয়, তবে সহযোগিতার জন্য কয়েকটি সরঞ্জাম নিয়ে এসেছে, এবং এটি সরকারী এবং বেসরকারী উভয় সংগ্রহস্থলের অনুমতি দেয়।
মূলত, একটি এসসিএম সিস্টেম দলের সদস্যদের দ্বারা ভাগ করা রেসপোসিট্রি থেকে সোর্স কোড এবং ডকুমেন্টেশন টানতে সহায়তা করে এবং এতে কাজ করার পরে এটি আবার পিছনে ঠেলে দেয়। এসসিএম পরিবর্তনগুলির উপর নজর রাখে এবং যদি কোনও বিরোধ হয় (যেমন কেউ কোনও কোডটিকে ধাক্কা দেওয়ার চেষ্টা করে যা অন্য দলের সদস্যের পরিবর্তনগুলি অন্তর্ভুক্ত করে না) তবে এটি আপনাকে বলবে এবং এই দ্বন্দ্বের সমাধানের উপায়ও প্রস্তাব করবে।
সাধারণত, দলের সদস্যদের মধ্যে কীভাবে কার্যগুলি বিভক্ত করা হয় সে সম্পর্কে কিছুটা আন্তরিক যোগাযোগের সাথে, কোনও বিরোধ নেই be তবে এসসিএম সিস্টেমের সাথে নজর রাখে, ভুলগুলি করা হয় বা যোগাযোগ ব্যর্থ হলেও সংঘাতগুলি পরিচালনাযোগ্য হয়ে ওঠে।
গিট (জিআইওয়াইএফ) দিয়ে শুরু এবং ব্যবহার সম্পর্কে প্রচুর টিউটোরিয়াল রয়েছে । দুটি আমি সুপারিশ করব: গিট-স্কেম ওয়েবসাইট এবং স্কট চকন দ্বারা প্রো গিট ।