[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/) [](https://join.slack.com/t/firstcontributors/shared_invite/zt-1hg51qkgm-Xc7HxhsiPYNN3ofX2_I8FA) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) [![Open Source Helpers](https://www.codetriage.com/roshanjossey/first-contributions/badges/users.svg)](https://www.codetriage.com/roshanjossey/first-contributions) # প্রথম অবদান প্রথমবারের মতো কোনো কাজ করতে গেলে তা কঠিন বলেই মনে হবে। আর আপনি যদি অন্যদের কাজে সহযোগিতা করেন, তাহলে ভুলভ্রান্তিগুলো অত্যন্ত বিব্রতকর। অথচ 'ওপেন সোর্স'-এর মূল বিষয়টিই হচ্ছে পারস্পরিক সহযোগিতা ও একত্রে কাজ করা। আমরা চাই ওপেন সোর্সে অবদান রাখতে ইচ্ছুক নবীনরা যেন সহজেই শিখতে পারে এবং প্রথমবারের মতো তাদের অবদান রাখতে পারে। প্রবন্ধ পড়ে এবং টিউটোরিয়াল দেখে অনেক কিছুই শেখা যায়, কিন্তু ব্যবহারিক পদ্ধতিতে কাজ করার চেয়ে উপযোগী কিছু হতে পারে না। এই প্রজেক্টের লক্ষ্য হচ্ছে নবীনদের দিকনির্দেশনা দেওয়া আর সেই সাথে তাদের প্রথম অবদান রাখার কাজটি সহজ করে তোলা। আপনি যদি ওপেন সোর্সে আপনার প্রথম অবদান রাখতে চান, তাহলে নিচের সহজ ধাপগুলো অনুসরণ করুন। কথা দিচ্ছি, এই প্রক্রিয়াটি অত্যন্ত মজার ও আনন্দদায়ক। #### _কমান্ড লাইন ইন্টারফেস এ স্বাচ্ছন্দ্য বোধ না করলে, [এখান থেকে গ্রাফিকাল ইন্টারফেস দিয়ে কীভাবে কাজটি করতে হয় তার টিউটোরিয়াল দেখুন।](#অন্যান্য-টুল-ব্যবহারের-টিউটোরিয়াল)_ fork this repository আপনার কম্পিউটারে গিট না থাকলে, [ ইনস্টল করুন ](https://help.github.com/articles/set-up-git/)। ## এই রিপোজিটরি ফর্ক করুন এই পৃষ্ঠার উপরের অংশে ফর্ক (fork) বাটনে ক্লিক করে এই রিপোজিটরি ফর্ক করুন। এই প্রক্রিয়ায় আপনার অ্যাকাউন্টে এই রিপোজিটরির একটি কপি তৈরি হবে। ## রিপোজিটরি ক্লোন করুন clone this repository এখন এই রিপোজিটরিটি আপনার কম্পিউটারে ক্লোন করুন। এজন্যে প্রথমে ক্লোন(Clone) বাটনে ক্লিক করুন। এরপর ক্লিক করুন _ক্লিপবোর্ডে কপি করুন(copy to clipboard)_ আইকনটিতে। আপনার টার্মিনাল (উইন্ডোজের ক্ষেত্রে কমান্ড প্রম্পট (CMD)) চালু করুন এবং নিচের কমান্ড রান করুন : ``` git clone "url you just copied" ``` যেখানে "url you just copied" (উদ্ধৃত চিহ্ণ ব্যতীত) হচ্ছে এই রিপোজিটরির ইউআরএল যা আপনি পূর্বের ধাপেই পেয়েছেন। copy URL to clipboard উদাহরণ : ``` git clone https://github.com/this-is-you/first-contributions.git ``` এখানে `this-is-you` হচ্ছে আপনার গিটহাব ইউজারনেম। এই কমান্ডটির মাধ্যমে গিটহাবে অবস্থিত first-contributions রিপোজিটরির একটি কপি তৈরি হচ্ছে আপনার কম্পিউটারে। ## একটি ব্রাঞ্চ তৈরি করুন আপনার কম্পিউটারে রিপোজিটরির ডিরেক্টরিতে যান (যদি এখনো অন্য ডিরেক্টরিতে থাকেন) : ``` cd first-contributions ``` এখন `git switch` কমান্ডের মাধ্যমে একটি ব্রাঞ্চ তৈরি করুন : ``` git switch -c ``` উদাহরণ : ``` git switch -c add-alonzo-church ``` (ব্রাঞ্চের নামে _add_ শব্দটি যুক্ত থাকা জরুরী নয়। তবে এই ব্রাঞ্চের উদ্দেশ্য যেহেতু আপনার নাম তালিকাভুক্ত করা, সেহেতু _add_ শব্দটি যুক্ত থাকাই কাম্য।) ## প্রয়োজনীয় পরিবর্তন করুন ও পরিবর্তনগুলো কমিট করুন এখন যে কোন টেক্সট এডিটরে `Contributors.md` ফাইলটি খুলুন, এতে আপনার নাম যুক্ত করুন, অতঃপর ফাইলটি সেভ করুন। এবার প্রজেক্ট ডিরেক্টরি থেকে `git status` কমান্ড রান করলে আপনি পরিবর্তনগুলো দেখতে পাবেন। `git add` কমান্ড দ্বারা এই পরিবর্তনগুলো আপনার তৈরি ব্রাঞ্চে যুক্ত করুন : ``` git add Contributors.md ``` এরপর `git commit` কমান্ড ব্যবহার করে এই পরিবর্তনগুলো কমিট করুন : ``` git commit -m "Add to Contributors list" ``` ``-এর বদলে আপনার নাম লিখতে ভুলবেন না। ## পরিবর্তনগুলো গিটহাবে পুশ করা `git push` কমান্ড ব্যবহার করে পরিবর্তনগুলো পুশ করুন : ``` git push origin -u ``` এক্ষেত্রে ``-এর বদলে পূর্বে আপনার তৈরি ব্রাঞ্চের নাম লিখুন। ## রিভিউয়ের জন্য আপনার পরিবর্তনগুলো জমা দিন আপনার গিটহাব রিপোজিটরিতে `Compare & pull request` বাটনে ক্লিক করুন। create a pull request এখন _পুল রিকোয়েস্ট_ সাবমিট করুন। submit pull request আমি যথাশীঘ্র সম্ভব আপনার পরিবর্তনগুলো এই প্রজেক্টের মাস্টার ব্রাঞ্চে মার্জ করব। মার্জ করা সম্পন্ন হলে আপনি একটি নিশ্চিতকরণ ই-মেইল পাবেন। ## এরপর কী করব? আপনার অবদানের আনন্দ উপভোগ করুন এবং [ওয়েব অ্যাপ](https://firstcontributions.github.io/#social-share)-এর মাধ্যমে বন্ধু ও অনুসরণকারীদের সাথে শেয়ার করুন। কোনো সহায়তার প্রয়োজন হলে বা আপনার কোনো প্রশ্ন থাকলে আপনি আমাদের স্ল্যাক টিমে যুক্ত হতে পারেন। [স্ল্যাক টিমে যোগ দিন](https://firstcontributions.herokuapp.com) এখন আপনি অন্যান্য প্রজেক্টগুলোতেও অবদান রাখতে পারেন। আপনার সুবিধার্থে আমরা সহজ সমস্যা সম্বলিত প্রজেক্টগুলোর একটি তালিকা তৈরি করেছি। ওয়েব অ্যাপে [প্রজেক্টগুলোর তালিকা](https://firstcontributions.github.io/#project-list) দেখুন। ### [ অতিরিক্ত উপাদানসমূহ ](../additional-material/git_workflow_scenarios/additional-material.md) ## অন্যান্য টুল ব্যবহারের টিউটোরিয়াল | GitHub Desktop | Visual Studio 2017 | GitKraken | VS Code | Sourcetree App | IntelliJ IDEA | | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [গিটহাব ডেস্কটপ](../gui-tool-tutorials/github-desktop-tutorial.md) | [ভিজুয়্যাল স্টুডিও ২০১৭](../gui-tool-tutorials/github-windows-vs2017-tutorial.md) | [গিটক্র্যাকেন](../gui-tool-tutorials/gitkraken-tutorial.md) | [ভিজুয়্যাল স্টুডিও কোড](../gui-tool-tutorials/github-windows-vs-code-tutorial.md) | [আটলাসিয়ান সোর্সট্রি](../gui-tool-tutorials/sourcetree-macos-tutorial.md) | [ইন্টেলিজ আইডিয়া](../gui-tool-tutorials/github-windows-intellij-tutorial.md) |