নিয়োগকর্তা-নির্দিষ্ট পরিবর্তনের সাথে ওপেন সোর্স প্রকল্পের সাথে কাজ করার জন্য সেরা গিট ওয়ার্কফ্লো কী?


11

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

আমি এখন পর্যন্ত যা করছি তা হ'ল একটি ব্যক্তিগত গিট শাখা বজায় রাখা যেখানে আমি আমার সমস্ত পরিবর্তনগুলি যথাযথ গ্রানুলারিটির সাথে প্রতিশ্রুতিবদ্ধ করি। আমি তখন cherry-pickমাস্টার শাখায় ওপেন-সোর্সযোগ্য কমিটগুলি যোগ করতে এবং সেগুলি গিথুবে জমা দিতে ব্যবহার করি।

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

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

দীর্ঘমেয়াদী অবদানের জন্য আমি কি যুক্তিসঙ্গত কর্মপ্রবাহ করছি? কেহ কোনও আলাদা ওয়ার্কফ্লো প্রস্তাব দিতে পারে যা আরও ভাল হতে পারে এবং কেন এটি আরও ভাল?


1
আপনি সহজেই অন্য কোনও শাখায় কিছু কাজ জমা দিতে পারেন - গিটার-স্কেমে / বই /en/Git- ব্র্যাঞ্চিং- রিবেসিং ব্যবহার করে । যতক্ষণ আপনি প্রথমে প্রতিশ্রুতিবদ্ধ ততক্ষণ আপনি সেই প্রতিশ্রুতিটি অন্য কোনও শাখায় পুনরায় চালু করতে পারেন, তারপরে কমিটটি সরিয়ে নিতে আপনার বর্তমান শাখাটি পুনরায় সেট করতে পারেন।
আর্টব্রিস্টল

উত্তর:


2

এখানে এমন একটি কৌশল যা আপনার পক্ষে কার্যকর হতে পারে:

2 টি বেসরকারী গিট রেপো তৈরি করুন, একটি রেপো সংস্থার কাজের জন্য এবং অন্যটি সাধারণ হ'ল (আমি ফিরে আসতে চাই) রেপো।

এই সিস্টেমটিকে কাজ করার জন্য, আপনাকে এটি করতে হবে (যা আমি সবচেয়ে গুরুত্বপূর্ণ কৌশল হিসাবে বিবেচনা করি): "সাধারণ" কী তা সংজ্ঞায়িত করুন এবং সম্প্রদায়ের প্রত্যেকেই ব্যবহার করতে পারবেন

এই সংজ্ঞাটি রেখে, আপনি কী প্রতিশ্রুতিবদ্ধ হবে এবং যা আপনাকে প্রতিশ্রুতিবদ্ধ হতে হবে তা আলাদা করতে পারেন।

এতে বোঝা যায় যে আপনি সম্প্রদায়ের জন্য যা কোড করেন তা সাধারণ ফর্মের মধ্যে যেমন খুব নির্দিষ্ট একটি কোডের কোনও অংশই কারও উপকারে আসবে না (এবং এমনকি এটি মাস্টার শাখায়ও তৈরি করতে পারে না)।

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

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

আমি আরও বিশ্বাস করি যে গিট আপনার ভাবনার চেয়ে অনেক বেশি কিছু করতে পারে। আমি এই ভিডিওটি ভিমেওতে দেখেছি: http://vimeo.com/46010208 এবং তিনি গিটটি করতে পারে এমন অনেকগুলি অবাস্তব বিষয়গুলি ব্যাখ্যা করার একটি দুর্দান্ত কাজ করেছিলেন।

আমার কৌশলটি কেবলমাত্র একমাত্র নয়, তবে এটি আপনার অবশ্যই 1 টির জন্য বিশেষভাবে বিবেচনা করার এক প্রাথমিক পয়েন্ট হতে পারে specifically


1

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

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.