আপনার অনিয়মিত কাজের জন্য একটি নতুন শাখা স্থাপন করা
নতুন বৈশিষ্ট্যগুলি বিকাশ করার সময়, এটি উপলব্ধি করা সাধারণ যে পরিবর্তনগুলি তাদের নিজস্ব শাখায় আলাদা করা উচিত। এটি আরও ভাল সংগঠন এবং সমান্তরাল উন্নয়নের অনুমতি দেয়। আপনি যদি একটি নতুন বৈশিষ্ট্যের উপর কাজ শুরু করে থাকেন এবং মাঝপথে সিদ্ধান্ত নেন যে এটি একটি পৃথক শাখায় থাকবে, Git এই অপ্রতিরোধ্য পরিবর্তনগুলি স্থানান্তর করার একটি সহজ উপায় প্রদান করে।
এই নিবন্ধে, আমরা আপনাকে আপনার বিদ্যমান, অপ্রত্যাশিত কাজকে একটি নতুন শাখায় স্থানান্তরিত করার প্রক্রিয়ার মাধ্যমে গাইড করব। উপরন্তু, আপনি শিখবেন কিভাবে আপনার কোনো অগ্রগতি না হারিয়ে আপনার বর্তমান শাখা পুনরায় সেট করবেন। এটি নিশ্চিত করে যে আপনার কর্মপ্রবাহ পরিষ্কার এবং দক্ষ থাকে।
| আদেশ | বর্ণনা |
|---|---|
| git checkout -b <branch-name> | একটি নতুন শাখা তৈরি করে এবং এতে স্যুইচ করে। |
| git add . | কর্মরত ডিরেক্টরিতে সমস্ত অনিয়মিত পরিবর্তনগুলি পর্যায়ক্রমে। |
| git commit -m "message" | একটি বর্ণনামূলক বার্তা সহ পর্যায়ভুক্ত পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ করে৷ |
| git checkout - | পূর্বে চেক-আউট করা শাখায় ফিরে যায়। |
| git reset --hard HEAD~1 | বর্তমান শাখাকে পূর্ববর্তী প্রতিশ্রুতিতে পুনরায় সেট করে, পরিবর্তনগুলি বাতিল করে। |
| #!/bin/bash | স্ক্রিপ্টটি ব্যাশ শেলে চালানো উচিত তা নির্দিষ্ট করে। |
প্রতিশ্রুতিহীন কাজ পরিচালনার জন্য গিট ওয়ার্কফ্লো বোঝা
প্রথম স্ক্রিপ্ট উদাহরণে, আমরা ম্যানুয়ালি গিট কমান্ডের একটি সিরিজ ব্যবহার করে একটি নতুন শাখায় অপ্রত্যাশিত পরিবর্তনগুলিকে স্থানান্তরিত করি। দিয়ে প্রক্রিয়া শুরু হয় git checkout -b new-feature-branch, যা "new-feature-branch" নামে একটি নতুন শাখা তৈরি করে এবং এতে স্যুইচ করে। মূল শাখা থেকে নতুন বৈশিষ্ট্যের কাজকে আলাদা করার জন্য এটি অপরিহার্য। এর পরে, আমরা সমস্ত অনিয়মিত পরিবর্তনের সাথে স্টেজ করি git add .. এই কমান্ডটি নিশ্চিত করে যে সমস্ত পরিবর্তিত এবং নতুন ফাইল কমিট করার জন্য প্রস্তুত করা হয়েছে। এটি অনুসরণ করে, দ git commit -m "Move uncommitted work to new feature branch" কমান্ড এই পরিবর্তনগুলিকে নতুন শাখায় একটি বার্তা সহ কর্ম ব্যাখ্যা করে।
নতুন শাখায় পরিবর্তনগুলি সুরক্ষিত করার পরে, আমরা মূল শাখায় ফিরে আসি git checkout original-branch. মূল শাখাটিকে পূর্ববর্তী অবস্থায় পুনরায় সেট করতে, আমরা ব্যবহার করি git reset --hard HEAD~1. এই কমান্ড জোরপূর্বক শাখাটিকে পূর্ববর্তী প্রতিশ্রুতিতে পুনরায় সেট করে, তারপর থেকে করা কোনো পরিবর্তন বাতিল করে। কমান্ডের এই সিরিজ নিশ্চিত করে যে নতুন বৈশিষ্ট্যের কাজটি তার নিজস্ব শাখায় সংরক্ষণ করা হয়েছে যখন মূল শাখাটি একটি পরিষ্কার অবস্থায় পুনরায় সেট করা হয়েছে।
একটি শেল স্ক্রিপ্ট দিয়ে প্রক্রিয়া স্বয়ংক্রিয় করা
দ্বিতীয় স্ক্রিপ্ট উদাহরণটি শেল স্ক্রিপ্ট ব্যবহার করে এই প্রক্রিয়াটিকে স্বয়ংক্রিয় করে। একটি নতুন শাখার নাম দেওয়া হয়েছে কিনা তা পরীক্ষা করে স্ক্রিপ্ট শুরু হয় if [ -z "$1" ]; then, যা কোন নাম না দিলে স্ক্রিপ্ট থেকে প্রস্থান করে। পরিবর্তনশীল NEW_BRANCH=$1 একটি ভেরিয়েবলে প্রদত্ত শাখার নাম বরাদ্দ করে। তারপর স্ক্রিপ্ট তৈরি করে এবং এই নতুন শাখায় স্যুইচ করে git checkout -b $NEW_BRANCH. সমস্ত অনিয়মিত পরিবর্তন ব্যবহার করে মঞ্চস্থ হয় git add ., এবং সঙ্গে প্রতিশ্রুতিবদ্ধ git commit -m "Move uncommitted work to $NEW_BRANCH".
পরিবর্তনগুলি করার পরে, স্ক্রিপ্টটি ব্যবহার করে পূর্ববর্তী শাখায় ফিরে যায় git checkout -. চূড়ান্ত আদেশ git reset --hard HEAD~1 মূল শাখাটিকে তার পূর্ববর্তী প্রতিশ্রুতিতে পুনরায় সেট করে, নিশ্চিত করে যে এটি পরিষ্কার এবং নতুন শাখায় স্থানান্তরিত পরিবর্তনগুলি থেকে মুক্ত। এই শেল স্ক্রিপ্টটি একটি নতুন শাখায় অনিয়মিত কাজ স্থানান্তরিত করার এবং বর্তমান শাখাটিকে পুনরায় সেট করার প্রক্রিয়াটিকে স্বয়ংক্রিয় করার একটি সুবিধাজনক উপায় প্রদান করে, যা Git-এ আপনার কর্মপ্রবাহ পরিচালনা করা সহজ করে তোলে।
গিট-এ একটি নতুন শাখায় অনিয়মিত পরিবর্তনগুলি সরানো
গিট কমান্ড লাইন ব্যবহার করে
# Step 1: Create a new branch and switch to itgit checkout -b new-feature-branch# Step 2: Stage all uncommitted changesgit add .# Step 3: Commit the staged changesgit commit -m "Move uncommitted work to new feature branch"# Step 4: Switch back to the original branchgit checkout original-branch# Step 5: Reset the original branch to the previous commitgit reset --hard HEAD~1
অগ্রগতি সংরক্ষণের সময় একটি নতুন শাখায় কাজ স্থানান্তর করা
অটোমেশনের জন্য একটি শেল স্ক্রিপ্ট ব্যবহার করা
#!/bin/bash# Check if the user provided a branch nameif [ -z "$1" ]; thenecho "Usage: $0 <new-branch-name>"exit 1fiNEW_BRANCH=$1# Create and switch to the new branchgit checkout -b $NEW_BRANCH# Stage all uncommitted changesgit add .# Commit the changesgit commit -m "Move uncommitted work to $NEW_BRANCH"# Switch back to the original branchgit checkout -# Reset the original branchgit reset --hard HEAD~1
Git-এ বৈশিষ্ট্য শাখা তৈরি এবং পরিচালনা করা
Git এর সাথে কাজ করার সময়, আপনার ওয়ার্কফ্লোকে সংগঠিত রাখা গুরুত্বপূর্ণ, বিশেষ করে যখন নতুন বৈশিষ্ট্যগুলি বিকাশ করা হয়। একটি সেরা অনুশীলন হল বৈশিষ্ট্য শাখা ব্যবহার করা। একটি বৈশিষ্ট্য শাখা আপনাকে প্রধান কোডবেস থেকে স্বাধীনভাবে একটি নতুন বৈশিষ্ট্যে কাজ করতে দেয়। এই বিচ্ছিন্নতা অসমাপ্ত বা অস্থির কোডকে প্রধান শাখাকে প্রভাবিত করা থেকে আটকাতে সাহায্য করে। একটি বৈশিষ্ট্য শাখা তৈরি করতে, কমান্ডটি ব্যবহার করুন git checkout -b feature-branch. এটি শুধুমাত্র শাখা তৈরি করে না বরং আপনাকে এতে সুইচ করে, সঠিক প্রেক্ষাপটে যেকোনো নতুন কাজ করা নিশ্চিত করে।
একবার আপনি আপনার বৈশিষ্ট্য শাখা তৈরি করে নিলে, আপনি প্রধান শাখাকে প্রভাবিত না করেই আপনার নতুন বৈশিষ্ট্যটিতে কাজ করতে পারেন। এটি একটি সহযোগী পরিবেশে বিশেষভাবে কার্যকর যেখানে একাধিক বিকাশকারী একই সাথে বিভিন্ন বৈশিষ্ট্যের উপর কাজ করছে। আপনার বৈশিষ্ট্য সম্পূর্ণ এবং পুঙ্খানুপুঙ্খভাবে পরীক্ষা করা হলে, আপনি এটি ব্যবহার করে মূল শাখায় আবার মার্জ করতে পারেন git merge feature-branch. এইভাবে, প্রধান শাখায় শুধুমাত্র স্থিতিশীল এবং সম্পূর্ণ কোড থাকে। আপনার যদি প্রধান শাখা থেকে সাম্প্রতিক পরিবর্তনগুলি সহ আপনার বৈশিষ্ট্য শাখা আপডেট করার প্রয়োজন হয়, আপনি ব্যবহার করতে পারেন git rebase main আপনার বৈশিষ্ট্য শাখায় থাকাকালীন, এটি আপ টু ডেট আছে তা নিশ্চিত করুন।
Git শাখা ব্যবস্থাপনা সম্পর্কে প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
- একটি বৈশিষ্ট্য শাখা কি?
- একটি বৈশিষ্ট্য শাখা হল একটি পৃথক শাখা যা মূল কোডবেস থেকে স্বাধীনভাবে একটি নতুন বৈশিষ্ট্য বিকাশের জন্য তৈরি করা হয়েছে।
- আমি কিভাবে Git এ একটি নতুন শাখা তৈরি করব?
- আপনি ব্যবহার করে একটি নতুন শাখা তৈরি করতে পারেন git checkout -b branch-name.
- আমি কিভাবে Git এ শাখাগুলির মধ্যে স্যুইচ করব?
- ব্যবহার করুন git checkout branch-name একটি বিদ্যমান শাখায় স্যুইচ করতে।
- আমি কীভাবে একটি বৈশিষ্ট্য শাখাকে মূল শাখায় একত্রিত করব?
- একটি বৈশিষ্ট্য শাখা মার্জ করতে, প্রধান শাখায় স্যুইচ করুন এবং ব্যবহার করুন git merge feature-branch.
- আমি কিভাবে আমার বৈশিষ্ট্য শাখা প্রধান শাখা থেকে সর্বশেষ পরিবর্তনের সাথে আপডেট করব?
- আপনার বৈশিষ্ট্য শাখায় থাকাকালীন, ব্যবহার করুন git rebase main সর্বশেষ পরিবর্তনগুলি অন্তর্ভুক্ত করতে।
- মার্জ করার পরে যদি আমি একটি শাখা মুছতে চাই?
- আপনি ব্যবহার করে একটি শাখা মুছে ফেলতে পারেন git branch -d branch-name.
- আমি কিভাবে আমার সংগ্রহস্থলে সমস্ত শাখা তালিকাভুক্ত করব?
- ব্যবহার করুন git branch সব শাখার তালিকা করতে।
- আমি কি গিটে একটি শাখার নাম পরিবর্তন করতে পারি?
- হ্যাঁ, ব্যবহার করুন git branch -m old-name new-name একটি শাখার নাম পরিবর্তন করতে।
- আমি বর্তমানে কোন শাখায় আছি তা আমি কীভাবে পরীক্ষা করব?
- ব্যবহার করুন git status বা git branch বর্তমান শাখা দেখতে.
- আমি দ্বন্দ্বের সাথে একটি শাখা একত্রিত করার চেষ্টা করলে কি হবে?
- মার্জ সম্পূর্ণ করার আগে গিট আপনাকে দ্বন্দ্ব সমাধানের জন্য অনুরোধ করবে। ব্যবহার করুন git status দ্বন্দ্ব সহ ফাইল দেখতে এবং সে অনুযায়ী সম্পাদনা করতে।
সর্বশেষ ভাবনা:
একটি সংগঠিত এবং পরিচ্ছন্ন উন্নয়ন কর্মপ্রবাহ বজায় রাখার জন্য Git-এর একটি নতুন শাখায় অপ্রত্যাশিত কাজ স্থানান্তর করা একটি মূল্যবান কৌশল। প্রদত্ত কমান্ড এবং স্ক্রিপ্টগুলি ব্যবহার করে, আপনি সহজেই আপনার বৈশিষ্ট্যের জন্য একটি নতুন শাখা তৈরি করতে পারেন, আপনার পরিবর্তনগুলি করতে পারেন এবং আপনার বর্তমান শাখাটি পুনরায় সেট করতে পারেন৷ এই পদ্ধতিটি শুধুমাত্র আপনার অগ্রগতি রক্ষা করে না বরং আপনার প্রধান শাখাকে স্থিতিশীল রাখে এবং অসম্পূর্ণ বৈশিষ্ট্য থেকে মুক্ত রাখে। এই অনুশীলনগুলি গ্রহণ করা আপনার উত্পাদনশীলতা বাড়াবে এবং দলের সদস্যদের মধ্যে আরও ভাল সহযোগিতার সুবিধা দেবে।