How to Use GitHub to Contribute to Open Source Projects Read more at http://www.lockergnome.com/web/2011/12/13/how-to-use-github-to-contribute-to-open-source-projects

Posted by imomins on July 27, 2012 at 6:25 AM

সফটওয়্যার সোর্সকোড ম্যানেজমেন্টঃ আপনার সোর্সকোডকে আরো কার্যকরভাবে সংরক্ষন এবং ব্যবহার করুন


সফটওয়্যার সোর্সকোড ম্যানেজমেন্টঃ  আজকে যে বিষয়টা নিয়ে লিখব তা হল সফটওয়্যার সোর্সকোড ম্যানেজমেন্ট। এর উপর অনলাইনে বাংলা কোন আর্টিকেল নেই বললেই চলে।

প্রাথমিক ধারনা: সফটওয়্যার তৈরির ক্ষেত্রে এর সোর্সকোড সংরক্ষন করা অনেক জরুরী। কারন কোন একটি এপ্লিকেশন একেবারেরই লিখে ফেলা যায় না। আর এর হিস্টোরীগুলোও মনে রাখা গুরুত্বপূর্ণ। এর জন্য সোর্সকোড ম্যানেজমেন্ট অনেক জরুরী একটি বিষয়।

এর সুবিধাঃ

# সোর্সকোড ম্যানেজমেন্টের সবচেয়ে বড় সুবিধা হল আপনি আপনার কোড নিরাপদে সংরক্ষন করতে পারছেন। আগে কি কোড লিখেছেন এবং তা পরবর্তীতে কোথায় পরিবর্তন করেছেন তার সব কিছুই সংরক্ষন থাকব।

# টিমওয়ার্কের ক্ষেত্রে এটা আরো গুরুত্মপূর্ণ। আপনার লেখা কোড সারাবিশ্বের যে কেউ দেখতে পারবে। সে কেউ চাইলে আপনার এপ্লিকেশনের সোর্সকোড ডেভেলাপ করতে পারবে।

# যেহেতু অনলাইন সংরক্ষন ব্যাবস্থা তাই যে কোন জায়গা থেকে আপনি এক্সেস করতে পারবেন এবং কোড পরিবর্তনের জন্য কমিট করতে পারবেন।

# ওপেনসোর্স সফটওয়্যার আসলেই কি এবং বিভিন্ন ওপেনসোর্স প্রজেক্টে কাজ করলে এর প্রয়োজনীয়তা সত্যিকার অর্থে উপলব্ধি করতে পারবেন।

# ফেসবুকের মাধ্যমে আমরা যেমন বন্ধুরা কে কি করছে তার আপডেট পাই, এর মাধ্যমেও watch এ রাখা প্রোগ্রামার বন্ধুদের লেখা প্রোগ্রাম দেখতে পারেন, এডিট করতে পারেন এবং কোন একটি বিশাল এপ্লিকেশনের ডেভেলাপমেন্টে যোগ দিতে পারেন।

অনলাইনে সোর্সকোড সংরক্ষন, গিটহাব/গুগলকোডঃ  সোর্সকোড ম্যানেজমেন্টের ক্ষেত্রে বিভিন্ন ধরনের ভার্সন কন্ট্রোল সিস্টেম রয়েছে। এর মধ্যে গিটই সবচেয়ে বেশি জনপ্রিয়। এই সিস্টেমে আপনার সোর্সকোড সংরক্ষনের জন্য আপনি ইউজ করতে পারেন গিটহাব। এছাড়া আপনি গুগলকোডে ও আপনার সোর্সকোড সংরক্ষন করতে পারেন। যাই হোক আমি আজকে গিটহাব নিয়ে লিখব। আসলে এ নিয়ে অনেক অনেক কিছু জানার আছে এবং জানা দরকার। একটি মাত্র টিউটরিয়ালে কোনভাবেই বোঝানো সম্ভব না। আপনাকে মোটামুটি বুঝতে হলে Pro-Git বইয়ের ১ম থেকে ৫ নাম্বার চাপ্টার পর্যন্ত পুরোপুরি বুঝে বুঝে পড়তে হবে। তাহলে হয়ত ভাল একটা ধারনা পেতে পারেন। তবে সাধারনভাবে কাজ করার জন্য যেটুকু দরকার সেটুকুই টিউটোরিয়ালে তুলে ধরছি।

গিটহাবে সোর্সকোড আপলোডের পদ্ধতিঃ  আমি জাস্ট দেখাব কিভাবে আপনি একটি রিপোজটরিতে আপনার কোড আপলোড করবেন।

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

যাই হোক প্রথমে গিটহাবে এখান থেকে রেজিস্ট্রেশন করে নিন। রেজি করার সময় ইউজার নেমটা একটু খেয়াল করে দিবেন। যেমন আমি Mashpy নাম দেয়াতে এরকম ইউজার ফ্রেন্ডলি লিঙ্ক  পেয়েছি-  https://github.com/Mashpy

(বড় করে দেখতে ছবিটিতে ক্লিক করুন;)

১। প্রথমে Create a repository তে গিয়ে একটি নাম দিন। আমি নাম দিলাম - TechnologyBasic-Software । খেয়াল করে দেখুন আপনাকে সাথে সাথেই https://github.com/Mashpy/TechnologyBasic-Software এরকম একটা লিঙ্ক দিয়ে দেয়া হচ্ছে। এটা মনে রাখুন কাজ লাগবে একটু পরে ৭নং অংশে।

এবার আপনি যদি উইন্ডোজ ইউজ করে থাকেন তাহলে লিঙ্ক থেকে সফটওয়্যারটি ডাউনলোড করে ইন্সটল করুন।

২। আপনার পিসিতে TechnologyBasic-Software নামে একটি ফোল্ডার তৈরি করুন এবং এতে আপনার ইচ্ছামত সোর্সকোড রাখুন।

৩। ইন্সটল হওয়া সফট Git-Gui ওপেন করুন এবং Create New Repository তে TechnologyBasic-Software এর ফোল্ডারের লোকেশনটি দেখিয়ে দিন। Rescan এ ক্লিক করে Stage Changed এ ক্লিক দিলে নিচের মত দেখতে পাবেন।

(বড় করে দেখতে ছবিটিতে ক্লিক করুন;)

৪। Commit কথাটি অনেক গুরুত্বপূর্ণ। আপনি সোর্সে কোড পরিবর্তন করার পর কমিট করতে হবে। আপনার সোর্সকোডে কেমন পরিবর্তন করেছেন তার একটি সংক্ষিপ্ত বর্ননা লিখে দিতে পারেন। যাতে আপনি বা অন্য যে কেউ কমিট মেসেজটি পড়লেই এই সফটওয়্যারের ডেভেলাপমেন্ট হিস্টোরি সম্পর্কে ধারনা হয়ে যায়।

সোর্সকোড পরিবর্তন করে কমিট মেসেজ লিখে Commit এ ক্লিক করুন। তাহলে সোর্সকোডটি পরিবর্তিত হবে।

৫। এবার এই সোর্সকোডকে আমাদের অনলাইনে আপলোড করতে হবে। এর জন্য আমরা Push বাটন চাপ দিব। তার আগে আপনাকে SSH Key ঠিক করতে হবে।

৬। Git-Gui সফটওয়্যারে Help-Show SSH key তে চাপ দিন। এই কী কপি করুন। 

(বড় করে দেখতে ছবিটিতে ক্লিক করুন;)

এই লিঙ্কে যেয়ে Add SSH এ ক্লিক করুন। কপি করা Key এখানে পেস্ট করুন।

৭। অনলাইনে আপলোডের জন্য Push বাটনে চাপ দিন এবং Arbitrary Location এ ১ নং অংশে থাকা লিঙ্কটি বসিয়ে দিয়ে Ok করুন। আপনার গিটহাব ইউজার নেম ও পাসওয়ার্ড চাইলে দিয়ে দিবেন।

৮। দেখুন লিঙ্কে আপলোড হয়ে গেল আপনার কাক্ষিত সোর্সকোড ।

(বড় করে দেখতে ছবিটিতে ক্লিক করুন;)

এখন আপনার কোড যে কেউ দেখতে পারবে, কোন প্রকার ভুল হলে সংশোধনের জন্য কমিট করতে পারবে। পুরো কোড কপি করে নিজের একাউন্টে নিয়ে যেতে পারবে।

গিটহাবে কাজ করার ক্ষেত্রে কিছু প্রয়োজনীয় বিষয়: গিটহাবে আপনার Commit, Pull, Push, Stage, Branch এই কয়েকটি জিনিস সম্পর্কে ধারনা থাকা অবশ্যক। সে সম্পর্কে সংক্ষেপে কিছু বলছি।

Commit: সোর্সকোড চেঞ্জ করলে কি কি চেঞ্জ করেছেন তার একটি সংক্ষিপ্ত বিরবণ রাখতে পারেন। ফলে পরবর্তীতে কেউ প্রজেক্ট ডেভেলাপ করতে গেলে সহজেই বিস্তারিত জানতে পারবে।
Pull:
অন্যকোন একটি গিটহাব একাউন্টের প্রজেক্ট নিয়ে কাজ করতে চাইলে প্রজেক্টের লিঙ্কটি দিয়ে পুরো প্রজেক্টটি ক্লোন করে নিয়ে নিজের একাউন্টে কাজ করতে পারেন।
Push:
আপনার কম্পিউটারে ডেভেলাপ করা কোন সোর্সকোড গিটহাব সাইটে আপলোড করতে হলে পুশ করতে হবে।
Stage
:   প্রাথমিক অবস্থায় সোর্সকোড unstage অবস্থায় থাকে। কোন কিছু কমিট করতে হলে আপনাকে স্টেজ চেঞ্জ করতে হবে।
Branch
: কোন রিপোজেটরিতে আমরা যখন সোর্সকোড রাখি সাধারনভাবে Master Branch এ রাখি। আপনি যদি এই সোর্সকোড নিয়ে কাজ করতে চান তাহলে নতুন কোন ব্রাঞ্চে নিয়ে কাজ করে আবার Master Branch এ মার্জ করতে পারেন।

টিমওয়ার্কের ক্ষেত্রে এই পদ্ধতির ভূমিকা: এই স্টাইলে সোর্সকোড সংরক্ষনের পদ্ধতিতে সবচেয়ে বড় সুবিধা হল কোন একটি প্রজেক্টে হাজার হাজার ডেভেলাপার কাজ করতে পারে। এই কারনে ওপেনসোর্স এপ্লিকেশনগুলোর ডেভেলাপমেন্ট খুব তাড়াতাড়ি হয়ে থাকে।

এই সম্পর্কে আরো জানার জন্য প্রয়োজনীয় রিসোর্স: এছাড়া আরো অনেক বিষয় আছে। পুরোটা বুঝতে হলে অবশ্যই Pro-Git বইয়ের ১ম থেকে ৫ নাম্বার চাপ্টার পর্যন্ত পড়তে হবে। কোন টপিক বা বইয়ের কোন পেজে কোন টপিক বুঝতে সমস্যা হলে আমাকে জানাতে পারেন।

Categories: Personal, Public, Networking

Post a Comment

Oops!

Oops, you forgot something.

Oops!

The words you entered did not match the given text. Please try again.

You must be a member to comment on this page. Sign In or Register

0 Comments