
প্রয়োজনীয় ইনপুট:
- গিট সম্পর্কে আমার নিবন্ধটি পড়ুন, অনুসরণ করুন এবং বুঝুন । এটি নিশ্চিত করতে সাহায্য করবে যে সবকিছু সেট আপ করা হয়েছে এবং যাওয়ার জন্য প্রস্তুত।
- IntelliJ IDEA ইনস্টল করুন।
- সম্পূর্ণ দক্ষতা অর্জনের জন্য এক ঘন্টা ব্যক্তিগত সময় বরাদ্দ করুন।
স্থানীয়ভাবে প্রকল্পটি ক্লোন করুন
এখানে দুটি বিকল্প আছে:- আপনার যদি ইতিমধ্যেই একটি GitHub অ্যাকাউন্ট থাকে এবং পরে কিছু পুশ করতে চান তবে প্রকল্পটি কাঁটাচামচ করা এবং আপনার নিজের অনুলিপি ক্লোন করা ভাল।
- আমার সংগ্রহস্থল ক্লোন করুন এবং সার্ভারে পুরো জিনিসটি পুশ করার ক্ষমতা ছাড়াই স্থানীয়ভাবে সবকিছু করুন। সর্বোপরি, এটি আমার সংগ্রহস্থল :)
-
প্রকল্পের ঠিকানা অনুলিপি করুন:
-
IntelliJ IDEA খুলুন এবং "সংস্করণ নিয়ন্ত্রণ থেকে পান" নির্বাচন করুন:
-
প্রকল্প ঠিকানা কপি এবং পেস্ট করুন:
-
আপনাকে একটি IntelliJ IDEA প্রকল্প তৈরি করতে বলা হবে। অফারটি গ্রহণ করুন:
-
যেহেতু কোনও বিল্ড সিস্টেম নেই এবং এটি এই নিবন্ধের সুযোগের বাইরে, আমরা বিদ্যমান উত্স থেকে প্রকল্প তৈরি করুন নির্বাচন করি :
-
এরপরে আপনি এই সুন্দর পর্দাটি দেখতে পাবেন:
এখন যেহেতু আমরা ক্লোনিং বের করেছি, আপনি চারপাশে একবার নজর দিতে পারেন।
Git UI হিসাবে IntelliJ IDEA-তে প্রথম নজর
ক্লোন করা প্রকল্পটি ঘনিষ্ঠভাবে দেখুন: আপনি ইতিমধ্যে সংস্করণ নিয়ন্ত্রণ সিস্টেম সম্পর্কে অনেক তথ্য পেতে পারেন। প্রথমত, আমরা নীচের বাম কোণে সংস্করণ নিয়ন্ত্রণ ফলক আছে. এখানে আপনি সমস্ত স্থানীয় পরিবর্তনগুলি খুঁজে পেতে পারেন এবং কমিটগুলির একটি তালিকা পেতে পারেন ("গিট লগ" এর অনুরূপ)। আসুন লগ- এর একটি আলোচনায় চলে যাই । একটি নির্দিষ্ট ভিজ্যুয়ালাইজেশন রয়েছে যা আমাদের বুঝতে সাহায্য করে যে কীভাবে উন্নয়ন এগিয়েছে। উদাহরণস্বরূপ, আপনি দেখতে পাচ্ছেন যে txt কমিট-এ যুক্ত শিরোনাম দিয়ে একটি নতুন শাখা তৈরি করা হয়েছে, যা পরে মাস্টার শাখায় মার্জ করা হয়েছিল। আপনি যদি একটি প্রতিশ্রুতিতে ক্লিক করেন, আপনি ডান কোণে কমিট সম্পর্কে সমস্ত তথ্য দেখতে পাবেন: এর সমস্ত পরিবর্তন এবং মেটাডেটা।



একটি সংগ্রহস্থল সঙ্গে কাজ
দরকারী হটকি
ভবিষ্যতের কাজের জন্য, আপনাকে কয়েকটি খুব দরকারী হটকি মনে রাখতে হবে:- CTRL+T — রিমোট রিপোজিটরি (গিট টান) থেকে সর্বশেষ পরিবর্তনগুলি পান।
- CTRL+K - একটি প্রতিশ্রুতি তৈরি করুন / সমস্ত বর্তমান পরিবর্তনগুলি দেখুন। এতে আনট্র্যাক করা এবং পরিবর্তিত ফাইল উভয়ই অন্তর্ভুক্ত রয়েছে (গিট সম্পর্কে আমার নিবন্ধটি দেখুন, যা এটি ব্যাখ্যা করে) (গিট কমিট)।
- CTRL+SHIFT+K — এটি রিমোট রিপোজিটরিতে পরিবর্তনগুলি পুশ করার কমান্ড। সমস্ত কমিট স্থানীয়ভাবে তৈরি করা হয়েছে এবং এখনও রিমোট রিপোজিটরিতে নেই তা পুশ করা হবে (গিট পুশ)।
- ALT+CTRL+Z — স্থানীয় সংগ্রহস্থলে তৈরি করা শেষ প্রতিশ্রুতির অবস্থায় একটি নির্দিষ্ট ফাইলে পরিবর্তন করা হয়। আপনি যদি উপরের বাম কোণে পুরো প্রকল্পটি নির্বাচন করেন, আপনি সমস্ত ফাইলের পরিবর্তনগুলি ফিরিয়ে আনতে পারেন৷

আমরা কি চাই?
কাজ সম্পন্ন করার জন্য, আমাদের একটি মৌলিক পরিস্থিতি আয়ত্ত করতে হবে যা সর্বত্র ব্যবহৃত হয়। উদ্দেশ্য হল একটি পৃথক শাখায় নতুন কার্যকারিতা প্রয়োগ করা এবং তারপরে এটিকে একটি দূরবর্তী সংগ্রহস্থলে ঠেলে দেওয়া (তারপর আপনাকে মূল শাখায় একটি টান অনুরোধও তৈরি করতে হবে, তবে এটি এই নিবন্ধের সুযোগের বাইরে)। এটি করার জন্য কি প্রয়োজন?-
প্রধান শাখার সমস্ত বর্তমান পরিবর্তনগুলি পান (উদাহরণস্বরূপ, "মাস্টার")।
-
এই প্রধান শাখা থেকে, আপনার কাজের জন্য একটি পৃথক শাখা তৈরি করুন।
-
নতুন কার্যকারিতা প্রয়োগ করুন।
-
প্রধান শাখায় যান এবং আমরা কাজ করার সময় কোন নতুন পরিবর্তন হয়েছে কিনা তা পরীক্ষা করে দেখুন। যদি না হয়, তাহলে সবকিছু ঠিক আছে। কিন্তু যদি পরিবর্তন হয়, তাহলে আমরা নিম্নলিখিতগুলি করি: কর্মরত শাখায় যান এবং প্রধান শাখা থেকে আমাদের শাখায় পরিবর্তনগুলি পুনঃস্থাপন করুন। যদি সবকিছু ঠিকঠাক হয়, তাহলে দারুণ। কিন্তু এটা সম্পূর্ণভাবে সম্ভব যে সেখানে সংঘর্ষ হবে। এটি যেমন ঘটবে, দূরবর্তী সংগ্রহস্থলে সময় নষ্ট না করে সেগুলি আগে থেকেই সমাধান করা যেতে পারে।
আপনি ভাবছেন কেন আপনি এই কাজ করা উচিত? এটি ভাল আচরণ এবং স্থানীয় সংগ্রহস্থলে আপনার শাখাকে ঠেলে দেওয়ার পরে সংঘাত ঘটতে বাধা দেয় (অবশ্যই, দ্বন্দ্ব এখনও ঘটবে, তবে এটি অনেক ছোট হয়ে যায় )।
- রিমোট রিপোজিটরিতে আপনার পরিবর্তনগুলি পুশ করুন।
রিমোট সার্ভার থেকে পরিবর্তন পান?
আমি একটি নতুন প্রতিশ্রুতি সহ README-এ একটি বিবরণ যোগ করেছি এবং এই পরিবর্তনগুলি পেতে চাই৷ যদি পরিবর্তনগুলি স্থানীয় সংগ্রহস্থলে এবং দূরবর্তী উভয় ক্ষেত্রেই করা হয়, তাহলে আমরা একটি মার্জ এবং একটি রিবেসের মধ্যে বেছে নিতে আমন্ত্রিত। আমরা একত্রীকরণ চয়ন. CTRL+T লিখুন :

মাস্টারের উপর ভিত্তি করে একটি নতুন শাখা তৈরি করুন
এখানে সবকিছু সহজ.-
নীচে ডান কোণায় যান এবং Git: master এ ক্লিক করুন । + নতুন শাখা নির্বাচন করুন ।
চেকআউট শাখার চেকবক্সটি নির্বাচন করুন এবং নতুন শাখার নাম লিখুন। আমার জন্য, এটি readme-উন্নতকারী হবে ।

Git: master তারপর Git: readme-improver এ পরিবর্তিত হবে ।
সমান্তরাল কাজ অনুকরণ করা যাক
দ্বন্দ্ব প্রদর্শিত হওয়ার জন্য, কাউকে সেগুলি তৈরি করতে হবে :D আমি ব্রাউজারের মাধ্যমে একটি নতুন প্রতিশ্রুতি সহ README সম্পাদনা করব, এইভাবে সমান্তরাল কাজ অনুকরণ করে৷ আমি এটিতে কাজ করার সময় কেউ একই ফাইলে পরিবর্তন করেছে। ফলে সংঘর্ষ হবে। আমি লাইন 10 থেকে "fully" শব্দটি সরিয়ে দেব।আমাদের কার্যকারিতা বাস্তবায়ন
আমাদের কাজ হল README পরিবর্তন করা এবং নতুন নিবন্ধে একটি বিবরণ যোগ করা। অর্থাৎ Git-এ কাজ IntelliJ IDEA এর মাধ্যমে হয়। এটি যোগ করুন:


প্রধান শাখা পরিবর্তিত হয়েছে কিনা পরীক্ষা করুন
আমরা আমাদের কাজ সম্পন্ন করেছি। এটা কাজ করে। আমরা পরীক্ষা লিখেছি। সবকিছু ঠিক আছে. কিন্তু সার্ভারে পুশ করার আগে, আমাদের এখনও চেক করতে হবে যে এর মধ্যে মূল শাখায় কোন পরিবর্তন হয়েছে কিনা। কিভাবে ঘটতে পারে? বেশ সহজে: কেউ আপনার পরে একটি টাস্ক গ্রহণ করে এবং কেউ আপনার কাজটি শেষ করার চেয়ে দ্রুত তা শেষ করে। তাই আমাদের মাস্টার ব্রাঞ্চে যেতে হবে। এটি করার জন্য, নীচের স্ক্রীনশটে নীচের ডানদিকের কোণায় যা দেখানো হয়েছে তা করতে হবে:



- আপনার গ্রহণ করুন — শুধুমাত্র readme-improver থেকে পরিবর্তন গ্রহণ করুন।
- তাদের গ্রহণ করুন - শুধুমাত্র মাস্টার থেকে পরিবর্তন গ্রহণ করুন।
- একত্রিত করুন - আপনি কী রাখতে চান এবং কী বাতিল করতে চান তা বেছে নিন।

- এই রিডমি-ইম্প্রোভারের পরিবর্তন।
- একত্রিত ফলাফল. আপাতত, পরিবর্তনের আগে এটিই ছিল।
- মাস্টার শাখা থেকে পরিবর্তন.

রিমোট সার্ভারে পরিবর্তনগুলি পুশ করুন
পরবর্তী ধাপ হল রিমোট সার্ভারে পরিবর্তনগুলি পুশ করা এবং একটি টান অনুরোধ তৈরি করা। এটি করতে, কেবল CTRL+SHIFT+K টিপুন । তারপরে আমরা পাব:

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

GO TO FULL VERSION