ইংরেজিফরাসিস্প্যানিশ

অনওয়ার্কস ফেভিকন

git-rebase - ক্লাউডে অনলাইন

উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটরের মাধ্যমে OnWorks ফ্রি হোস্টিং প্রদানকারীতে গিট-রিবেস চালান

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

কার্যক্রম:

NAME এর


git-rebase - ফরোয়ার্ড-পোর্ট স্থানীয় আপডেট আপস্ট্রিম হেডে প্রতিশ্রুতি দেয়

সাইনোপিসিস


ফালতু বা এলেবেলে লোক রি-বেসের ফলে [-আমি | --ইন্টারেক্টিভ] [বিকল্প] [--exec ] [--এর উপর ]
[ [ ]]
ফালতু বা এলেবেলে লোক রি-বেসের ফলে [-আমি | --ইন্টারেক্টিভ] [বিকল্প] [--exec ] [--এর উপর ]
--মূল [ ]
ফালতু বা এলেবেলে লোক রি-বেসের ফলে -- চালিয়ে যান | -- এড়িয়ে যান | --গর্ভপাত | -- সম্পাদনা-করুন

বর্ণনাঃ


যদি উল্লিখিত আছে, ফালতু বা এলেবেলে লোক রি-বেসের ফলে একটি স্বয়ংক্রিয় গিট চেকআউট সঞ্চালন করবে
অন্য কিছু করার আগে। অন্যথায় এটি বর্তমান শাখায় থেকে যায়।

যদি নির্দিষ্ট করা নেই, শাখায় আপস্ট্রিম কনফিগার করা হয়েছে। দূরবর্তী এবং
শাখা .merge অপশন ব্যবহার করা হবে (দেখুন git-config(1) বিস্তারিত জানার জন্য) এবং
--ফর্ক-পয়েন্ট বিকল্পটি ধরে নেওয়া হয়। আপনি বর্তমানে কোন শাখায় না থাকলে বা বর্তমান থাকলে
শাখার একটি কনফিগার করা আপস্ট্রিম নেই, রিবেসটি বাতিল হয়ে যাবে।

বর্তমান শাখায় প্রতিশ্রুতি দ্বারা করা সমস্ত পরিবর্তন কিন্তু তা নেই সংরক্ষিত হয়
একটি অস্থায়ী এলাকায়। এটি কমিটের একই সেট যা গিট লগ দ্বারা দেখানো হবে
..মাথা; অথবা গিট লগ দ্বারা 'ফর্ক_পয়েন্ট'..হেড, যদি --ফর্ক-পয়েন্ট সক্রিয় থাকে (দেখুন
নিচে --ফর্ক পয়েন্টে বর্ণনা); অথবা git log HEAD দ্বারা, যদি --root বিকল্পটি নির্দিষ্ট করা থাকে।

বর্তমান শাখা রিসেট করা হয়েছে , বা যদি --onto বিকল্পটি সরবরাহ করা হয়।
এটি গিট রিসেট --হার্ডের মতো একই প্রভাব ফেলে (বা ) ORIG_HEAD হল৷
রিসেট করার আগে শাখার ডগায় পয়েন্ট সেট করুন।

পূর্বে অস্থায়ী এলাকায় সংরক্ষিত করা কমিট তারপর পুনরায় প্রয়োগ করা হয়
বর্তমান শাখা, এক এক করে, ক্রমানুসারে। উল্লেখ্য যে HEAD-এ যে কোনো কমিট যা প্রবর্তন করে
HEAD এ কমিট হিসাবে একই পাঠ্য পরিবর্তন.. বাদ দেওয়া হয় (অর্থাৎ, ইতিমধ্যে একটি প্যাচ
একটি ভিন্ন কমিট বার্তা সহ আপস্ট্রিম গৃহীত বা টাইমস্ট্যাম্প এড়িয়ে যাবে)।

এটা সম্ভব যে একটি মার্জ ব্যর্থতা এই প্রক্রিয়াটিকে সম্পূর্ণরূপে হতে বাধা দেবে
স্বয়ংক্রিয় আপনাকে এই ধরনের কোনো মার্জ ব্যর্থতা সমাধান করতে হবে এবং গিট রিবেস চালাতে হবে -- চালিয়ে যান।
আরেকটি বিকল্প হল কমিটকে বাইপাস করা যা গিট রিবেসের সাথে মার্জ ব্যর্থতার কারণ
-- এড়িয়ে যান। মূল চেক আউট এবং .git/rebase-apply কাজের ফাইলগুলি সরিয়ে ফেলুন,
পরিবর্তে git rebase --abort কমান্ড ব্যবহার করুন।

অনুমান করুন নিম্নলিখিত ইতিহাস বিদ্যমান এবং বর্তমান শাখা হল "বিষয়":

A---B---C বিষয়
/
ডি---ই---এফ---জি মাস্টার

এই বিন্দু থেকে, নিম্নলিখিত কমান্ডগুলির যে কোনও একটির ফলাফল:

গিট রিবেস মাস্টার
গিট রিবেস মাস্টার বিষয়

হবে:

A'--B'--C' বিষয়
/
ডি---ই---এফ---জি মাস্টার

লক্ষ্য করুন: পরবর্তী ফর্মটি গিট চেকআউট বিষয়ের একটি সংক্ষিপ্ত হাত যার পরে গিট রিবেস
মাস্টার রিবেস প্রস্থান করার সময় বিষয় চেক-আউট শাখা থেকে যাবে।

যদি আপস্ট্রিম শাখায় ইতিমধ্যে আপনার করা একটি পরিবর্তন থাকে (যেমন, কারণ আপনি একটি মেইল ​​করেছেন
প্যাচ যা আপস্ট্রিম প্রয়োগ করা হয়েছিল), তারপর সেই প্রতিশ্রুতিটি এড়িয়ে যাবে। উদাহরণস্বরূপ, চলমান
নিম্নলিখিত ইতিহাসে গিট রিবেস মাস্টার (যাতে A' এবং A এর একই সেট প্রবর্তন করে
পরিবর্তন, কিন্তু বিভিন্ন কমিটরের তথ্য আছে):

A---B---C বিষয়
/
D---E---A'---F মাস্টার

ফলাফল হবে:

B'---C' বিষয়
/
D---E---A'---F মাস্টার

এখানে আপনি ভান করার জন্য একটি শাখার উপর ভিত্তি করে একটি বিষয় শাখাকে অন্য শাখায় প্রতিস্থাপন করবেন
যে আপনি পরের শাখা থেকে বিষয় শাখা কাঁটাচামচ, rebase --onto ব্যবহার করে.

প্রথমে আপনার অনুমান করা যাক বিষয় শাখার উপর ভিত্তি করে পরবর্তী. উদাহরণস্বরূপ, একটি বৈশিষ্ট্য বিকশিত হয়েছে
বিষয় কিছু কার্যকারিতার উপর নির্ভর করে যা পাওয়া যায় পরবর্তী.

ও---ও---ও---ও---ও মাস্টার
\
o---o---o---o---o পরের
\
o---o---o বিষয়

আমরা বানাতে চাই বিষয় শাখা থেকে কাঁটা মালিক; উদাহরণস্বরূপ, কারণ কার্যকারিতা চালু
যে বিষয় নির্ভর করে আরো স্থিতিশীল মধ্যে একত্রিত করা হয় মালিক শাখা আমরা আমাদের গাছ চাই
এই মত চেহারা:

ও---ও---ও---ও---ও মাস্টার
| \
| o'--o'--o' বিষয়
\
o---o---o---o---o পরের

আমরা নিম্নলিখিত কমান্ড ব্যবহার করে এটি পেতে পারি:

গিট রিবেস -- মাস্টার পরবর্তী বিষয়ের উপর

--onto বিকল্পের আরেকটি উদাহরণ হল একটি শাখার অংশ রিবেস করা। আমরা যদি নিম্নলিখিত আছে
পরিস্থিতি:

H---I---J টপিকবি
/
E---F---G topicA
/
A---B---C---D মাস্টার

তারপর আদেশ

গিট রিবেস --অনটো মাস্টার টপিকএ টপিকবি

ফলাফল হবে:

H'-I'--J' বিষয়বি
/
| E---F---G topicA
|/
A---B---C---D মাস্টার

এটি উপযোগী যখন topicB topicA এর উপর নির্ভর করে না।

কমিটের একটি পরিসীমা রিবেস দিয়েও সরানো যেতে পারে। যদি আমাদের নিম্নলিখিত পরিস্থিতি থাকে:

E---F---G---H---I---J topicA

তারপর আদেশ

git রিবেস -- topicA ~ 5 topicA ~ 3 topicA উপর

কমিট F এবং G অপসারণের ফলে:

E---H'---I'---J' topicA

এটি কার্যকর যদি F এবং G কোনোভাবে ত্রুটিযুক্ত হয়, বা topicA-এর অংশ না হওয়া উচিত। বিঃদ্রঃ
যে যুক্তি --onto এবং প্যারামিটার কোনো বৈধ কমিট-ইশ হতে পারে।

সংঘর্ষের ক্ষেত্রে, ফালতু বা এলেবেলে লোক রি-বেসের ফলে প্রথম সমস্যাযুক্ত প্রতিশ্রুতিতে থামবে এবং চলে যাবে
গাছে দ্বন্দ্ব চিহ্নিতকারী। তুমি ব্যবহার করতে পার ফালতু বা এলেবেলে লোক পরিবর্তন মার্কারগুলি সনাক্ত করতে (<<<<<<) এবং তৈরি করুন
দ্বন্দ্ব সমাধান করতে সম্পাদনা করুন। আপনার সম্পাদনা করা প্রতিটি ফাইলের জন্য, আপনাকে গিটকে বলতে হবে যে
দ্বন্দ্ব সমাধান করা হয়েছে, সাধারণত এটি দিয়ে করা হবে

git যোগ করুন

দ্বন্দ্বটি ম্যানুয়ালি সমাধান করার পরে এবং পছন্দসই রেজোলিউশনের সাথে সূচক আপডেট করার পরে,
আপনি এর সাথে রিবেসিং প্রক্রিয়া চালিয়ে যেতে পারেন

git রিবেস -- চালিয়ে যান

বিকল্পভাবে, আপনি পূর্বাবস্থায় ফেরাতে পারেন ফালতু বা এলেবেলে লোক রি-বেসের ফলে সঙ্গে

git rebase -- abort

কনফিগারেশন


rebase.stat
শেষ রিবেস থেকে আপস্ট্রিম কি পরিবর্তিত হয়েছে তার একটি পার্থক্য দেখাবে কিনা। দ্বারা মিথ্যা
ডিফল্ট.

rebase.autoSquash
সত্য সেট করা হলে সক্ষম করুন --অটোস্কোয়াশ ডিফল্টরূপে বিকল্প।

rebase.autoStash
সত্য সেট করা হলে সক্ষম করুন --অটোস্ট্যাশ ডিফল্টরূপে বিকল্প।

rebase.missingCommitsCheck
"সতর্ক" হিসাবে সেট করা হলে, ইন্টারেক্টিভ মোডে সরিয়ে দেওয়া কমিট সম্পর্কে সতর্কতা মুদ্রণ করুন। যদি সেট করা হয়
"ত্রুটি", সতর্কতা প্রিন্ট করুন এবং রিবেস বন্ধ করুন। যদি "উপেক্ষা" সেট করা হয়, কোন চেক করা হয় না
সম্পন্ন. ডিফল্টরূপে "উপেক্ষা করুন"।

rebase.instructionFormat
একটি সময় ব্যবহার করার জন্য কাস্টম কমিট তালিকা বিন্যাস -- ইন্টারেক্টিভ পুনর্বাসন

বিকল্প


--এর উপর
সূচনা পয়েন্ট যেখানে নতুন কমিট তৈরি করতে হবে। যদি --onto বিকল্পটি না হয়
নির্দিষ্ট, শুরু বিন্দু হয় . কোনো বৈধ প্রতিশ্রুতি হতে পারে, এবং শুধু একটি নয়
বিদ্যমান শাখার নাম।

একটি বিশেষ ক্ষেত্রে, আপনি A এবং B এর মার্জ বেসের জন্য একটি শর্টকাট হিসাবে "A...B" ব্যবহার করতে পারেন যদি
ঠিক একটি মার্জ বেস আছে. আপনি A এবং B এর মধ্যে সর্বাধিক একটি ছেড়ে যেতে পারেন, যার মধ্যে
ক্ষেত্রে এটা HEAD ডিফল্ট.


আপস্ট্রিম শাখার সাথে তুলনা করতে। কোনো বৈধ প্রতিশ্রুতি হতে পারে, শুধু বিদ্যমান নয়
শাখার নাম. বর্তমান শাখার জন্য কনফিগার করা আপস্ট্রিমে ডিফল্ট।


কর্ম শাখা; HEAD ডিফল্ট।

-- চালিয়ে যান
একটি মার্জ দ্বন্দ্ব সমাধান করার পরে রিবেসিং প্রক্রিয়াটি পুনরায় আরম্ভ করুন।

-- গর্ভপাত
রিবেস অপারেশন বাতিল করুন এবং মূল শাখায় হেড রিসেট করুন। যদি ছিল
প্রদত্ত যখন রিবেস অপারেশন শুরু হয়, তখন HEAD রিসেট করা হবে .
অন্যথায় HEAD রিবেস অপারেশন শুরু করার সময় যেখানে ছিল সেখানে রিসেট করা হবে।

-- খালি রাখা
প্রতিশ্রুতি রাখুন যে ফলাফলে তার পিতামাতার কাছ থেকে কিছু পরিবর্তন করবেন না।

-- এড়িয়ে যান
বর্তমান প্যাচ বাদ দিয়ে রিবেসিং প্রক্রিয়াটি পুনরায় আরম্ভ করুন।

-- সম্পাদনা-করুন
একটি ইন্টারেক্টিভ রিবেসের সময় করণীয় তালিকা সম্পাদনা করুন।

-মি, -- একত্রিত করুন
রিবেস করতে মার্জিং কৌশল ব্যবহার করুন। যখন পুনরাবৃত্ত (ডিফল্ট) মার্জ কৌশল ব্যবহার করা হয়,
এটি রিবেসকে আপস্ট্রিম দিকের নাম পরিবর্তন সম্পর্কে সচেতন হতে দেয়।

নোট করুন যে একটি রিবেস মার্জ উপরে কাজ করা শাখা থেকে প্রতিটি কমিট পুনরায় প্লে করে কাজ করে
এর শাখা এই কারণে, যখন একটি মার্জ সংঘাত ঘটবে, পক্ষ
হিসাবে রিপোর্ট ভালুক এখন পর্যন্ত রিবেসড সিরিজ, এর সাথে শুরু , এবং তাহাদেরই is
কাজের শাখা। অন্য কথায়, পক্ষগুলি অদলবদল করা হয়।

-s , --কৌশল=
প্রদত্ত একত্রীকরণ কৌশল ব্যবহার করুন। যদি কোন -s বিকল্প না থাকে ফালতু বা এলেবেলে লোক মার্জ-রিকারসিভ ব্যবহৃত হয়
পরিবর্তে. এই বোঝায় -- একত্রীকরণ.

কারণ ফালতু বা এলেবেলে লোক রি-বেসের ফলে এর উপরে ওয়ার্কিং ব্রাঞ্চ থেকে প্রতিটি কমিট রিপ্লে করে
প্রদত্ত কৌশল ব্যবহার করে শাখা, ব্যবহার করে ভালুক কৌশল সহজভাবে বাতিল
থেকে সব প্যাচ , যা সামান্য অর্থে তোলে.

-এক্স , --কৌশল-বিকল্প=
পাস একত্রীকরণ কৌশল মাধ্যমে. এটি বোঝায় -- মার্জ এবং, যদি
কোনো কৌশল নির্দিষ্ট করা হয়নি, -s পুনরাবৃত্তিমূলক। এর বিপরীত দিকে লক্ষ্য করুন ভালুক এবং তাহাদেরই as
-m বিকল্পের জন্য উপরে উল্লেখ করা হয়েছে।

-এস[ ], --gpg-চিহ্ন[= ]
GPG-চিহ্ন কমিট করে। keyid আর্গুমেন্ট ঐচ্ছিক এবং প্রতিশ্রুতির জন্য ডিফল্ট
পরিচয় যদি নির্দিষ্ট করা থাকে, তাহলে এটিকে স্পেস ছাড়াই বিকল্পে আটকে রাখতে হবে।

-q, - শান্ত
শান্ত হও. বোঝায় --নো-স্ট্যাট।

-v, --ভার্বোস
শব্দগুচ্ছ হও। বোঝায় --stat.

--স্ট্যাট
শেষ রিবেস থেকে আপস্ট্রিম কি পরিবর্তিত হয়েছে তার একটি পার্থক্য দেখান। diffstat এছাড়াও
কনফিগারেশন বিকল্প rebase.stat দ্বারা নিয়ন্ত্রিত।

-n, --no-stat
রিবেস প্রক্রিয়ার অংশ হিসাবে একটি ডিফস্ট্যাট দেখাবেন না।

--না-যাচাই
এই বিকল্পটি প্রাক-রিবেস হুককে বাইপাস করে। আরো দেখুন githooks(5).

-- যাচাই করুন
প্রি-রিবেস হুক চালানোর অনুমতি দেয়, যা ডিফল্ট। এই বিকল্প ব্যবহার করা যেতে পারে
override --no-verify. আরো দেখুন githooks(5).

-সি
অন্তত নিশ্চিত করুন আশেপাশের প্রসঙ্গগুলির লাইনগুলি প্রতিটি পরিবর্তনের আগে এবং পরে মেলে।
আশেপাশের প্রেক্ষাপটের কম লাইন থাকলে সেগুলি অবশ্যই মেলে। ডিফল্টভাবে নং
প্রসঙ্গ কখনও উপেক্ষা করা হয়।

-f, --ফোর্স-রিবেস
বর্তমান শাখা আপ-টু-ডেট এবং কমান্ড ছাড়া হলেও রিবেসকে জোর করুন
--শক্তি কিছু না করেই ফিরে আসবে।

একটি প্রত্যাবর্তনের পরে আপনি এটি (বা একটি ইন্টারেক্টিভ রিবেসের সাথে --no-ff) সহায়ক বলে মনে করতে পারেন
টপিক ব্রাঞ্চ মার্জ, যেহেতু এই অপশনটি নতুন কমিট সহ টপিক ব্রাঞ্চটিকে পুনরায় তৈরি করে তাই এটি
"প্রত্যাবর্তন প্রত্যাবর্তন" করার প্রয়োজন ছাড়াই সফলভাবে পুনরায় মার্জ করা যেতে পারে (দেখুন
প্রত্যাবর্তন-একটি-ত্রুটি-সংযোজন কিভাবে[১] বিস্তারিত জানার জন্য)।

--ফর্ক-পয়েন্ট, --নো-ফর্ক-বিন্দু
মধ্যে একটি ভাল সাধারণ পূর্বপুরুষ খুঁজে পেতে reflog ব্যবহার করুন এবং কখন
কোন কমিট দ্বারা প্রবর্তিত হয়েছে গণনা .

যখন --ফর্ক-পয়েন্ট সক্রিয় থাকে, fork_point এর পরিবর্তে ব্যবহার করা হবে প্রতি
রিবেস করতে কমিট সেট গণনা করুন, যেখানে fork_point গিটের ফলাফল
মার্জ-বেস --ফর্ক-পয়েন্ট আদেশ (দেখুন git-merge-base(1))। যদি
fork_point শেষ পর্যন্ত খালি হচ্ছে, একটি ফলব্যাক হিসাবে ব্যবহার করা হবে.

যদি হয় অথবা --root কমান্ড লাইনে দেওয়া হয়, তারপর ডিফল্ট হয়
--নো-ফর্ক-পয়েন্ট, অন্যথায় ডিফল্ট হল --ফর্ক-পয়েন্ট।

--উপেক্ষা-সাদা স্থান, --সাদা স্থান=
এই পতাকা পাস করা হয় ফালতু বা এলেবেলে লোক প্রয়োগ করা প্রোগ্রাম (দেখুন git-অ্যাপ্লাই(1)) যে প্রযোজ্য
প্যাচ --ইন্টারেক্টিভ বিকল্পের সাথে বেমানান।

--কমিটার-তারিখ-ই-লেখকের-তারিখ, --তারিখ উপেক্ষা করুন
এই পতাকা পাস করা হয় ফালতু বা এলেবেলে লোক am রিবেসড কমিটের তারিখ সহজেই পরিবর্তন করতে
(দেখুন git-am(1))। --ইন্টারেক্টিভ বিকল্পের সাথে বেমানান।

-i, --ইন্টারেক্টিভ
কমিটগুলির একটি তালিকা তৈরি করুন যা পুনঃস্থাপিত হতে চলেছে। ব্যবহারকারীকে সেই তালিকা সম্পাদনা করতে দিন
রিবেস করার আগে। এই মোডটি কমিটগুলিকে বিভক্ত করতেও ব্যবহার করা যেতে পারে (বিভক্ত কমিটগুলি দেখুন৷
নিচে).

কনফিগারেশন বিকল্প সেট করে কমিট তালিকা বিন্যাস পরিবর্তন করা যেতে পারে
rebase.instructionFormat. একটি কাস্টমাইজড নির্দেশ বিন্যাস স্বয়ংক্রিয়ভাবে থাকবে
ফরম্যাটে লং কমিট হ্যাশ প্রিপেন্ড করা হয়েছে।

-p, --সংরক্ষণ-একত্রীকরণ
মার্জ রিপ্লে করে ইতিহাসকে সমতল করার পরিবর্তে মার্জ কমিট পুনরায় তৈরি করুন
কমিট পরিচয় করিয়ে দেয়। দ্বন্দ্ব সমাধান বা ম্যানুয়াল সংশোধন একত্রীকরণ কমিট একত্রীকরণ
সংরক্ষিত হয় না।

এটি অভ্যন্তরীণভাবে --ইন্টারেক্টিভ যন্ত্রপাতি ব্যবহার করে, তবে এটির সাথে একত্রিত করে
--ইন্টারেক্টিভ বিকল্পটি স্পষ্টভাবে একটি ভাল ধারণা নয় যদি না আপনি জানেন যে আপনি কী
করছেন (নীচে বাগ দেখুন)।

-এক্স , --exec
"exec যোগ করুন " প্রতিটি লাইনের পরে চূড়ান্ত ইতিহাসে একটি প্রতিশ্রুতি তৈরি করে৷ ইচ্ছাশক্তি
এক বা একাধিক শেল কমান্ড হিসাবে ব্যাখ্যা করা হবে।

এই বিকল্পটি শুধুমাত্র --ইন্টারেক্টিভ বিকল্পের সাথে ব্যবহার করা যেতে পারে (ইন্টারেক্টিভ মোড দেখুন
নিচে).

আপনি --exec-এর একটি উদাহরণ ব্যবহার করে একাধিক কমান্ড কার্যকর করতে পারেন
কম্যান্ড:

git rebase -i --exec "cmd1 && cmd2 && ..."

অথবা একাধিক প্রদান করে --exec:

git rebase -i --exec "cmd1" --exec "cmd2" --exec...

যদি --autosquash ব্যবহার করা হয়, মধ্যবর্তী জন্য "exec" লাইন যুক্ত করা হবে না
প্রতিশ্রুতিবদ্ধ, এবং শুধুমাত্র প্রতিটি স্কোয়াশ/ফিক্সআপ সিরিজের শেষে প্রদর্শিত হবে।

--মূল
রিবেস সব কমিট থেকে পৌঁছানো যায় , পরিবর্তে একটি সঙ্গে তাদের সীমাবদ্ধ
. এটি আপনাকে একটি শাখায় রুট কমিট(গুলি) রিবেস করতে দেয়। সঙ্গে ব্যবহার করা হলে
--onto, এটি ইতিমধ্যে অন্তর্ভুক্ত পরিবর্তনগুলি এড়িয়ে যাবে৷ (পরিবর্তে )
যেখানে --onto ছাড়া এটি প্রতিটি পরিবর্তনে কাজ করবে। যখন উভয়ের সাথে একসাথে ব্যবহার করা হয়
--এবং --সংরক্ষণ-একত্রীকরণ, সব রুট কমিট আবার লেখা হবে হিসাবে
পরিবর্তে অভিভাবক।

--autosquash, --no-autosquash
যখন কমিট লগ বার্তা "স্কোয়াশ! ..." (বা "ফিক্সআপ! ...") দিয়ে শুরু হয়, এবং সেখানে থাকে
একটি কমিট যার শিরোনাম একই ... দিয়ে শুরু হয়, স্বয়ংক্রিয়ভাবে এর করণীয় তালিকা পরিবর্তন করে
rebase -i যাতে স্কোয়াশিং এর জন্য চিহ্নিত কমিটটি কমিট হওয়ার ঠিক পরে আসে
পরিবর্তিত, এবং স্থানান্তরিত প্রতিশ্রুতির ক্রিয়াকে পিক থেকে স্কোয়াশে (বা ফিক্সআপ) পরিবর্তন করুন।
প্রথমের পরে পরবর্তী "ফিক্সআপ!" বা "স্কোয়াশ!" উপেক্ষা করে, যদি আপনি একটি উল্লেখ করেন
গিট কমিটের সাথে আগের ফিক্সআপ/স্কোয়াশ --fixup/--স্কোয়াশ।

এই বিকল্প শুধুমাত্র বৈধ যখন -- ইন্টারেক্টিভ বিকল্প ব্যবহার করা হয়।

যদি --অটোস্কোয়াশ বিকল্পটি কনফিগারেশন ভেরিয়েবল ব্যবহার করে ডিফল্টরূপে সক্রিয় করা হয়
rebase.autoSquash, এই বিকল্পটি এই সেটিং ওভাররাইড এবং নিষ্ক্রিয় করতে ব্যবহার করা যেতে পারে।

--অটোস্ট্যাশ, --নো-অটোস্ট্যাশ
অপারেশন শুরু হওয়ার আগে স্বয়ংক্রিয়ভাবে একটি অস্থায়ী স্ট্যাশ তৈরি করুন এবং পরে এটি প্রয়োগ করুন
অপারেশন শেষ হয়। এর মানে হল যে আপনি একটি নোংরা ওয়ার্কট্রিতে রিবেস চালাতে পারেন। যাহোক,
যত্ন সহকারে ব্যবহার করুন: একটি সফল পুনঃস্থাপনের পরে চূড়ান্ত স্ট্যাশ অ্যাপ্লিকেশনের ফলাফল হতে পারে
অ-তুচ্ছ দ্বন্দ্ব।

--no-ff
--ইন্টারেক্টিভের সাথে, দ্রুত-ফরওয়ার্ড করার পরিবর্তে সমস্ত রিবেসড কমিট চেরি-পিক করুন
অপরিবর্তিত বেশী এটি নিশ্চিত করে যে পুনর্বাসিত শাখার সম্পূর্ণ ইতিহাস
নতুন প্রতিশ্রুতি নিয়ে গঠিত।

--ইন্টারেক্টিভ ছাড়া, এটি --ফোর্স-রিবেসের প্রতিশব্দ।

আপনি এই বিকল্প হিসাবে একটি বিষয় শাখা মার্জ প্রত্যাবর্তনের পরে এটি সহায়ক হতে পারে
নতুন কমিট সহ বিষয় শাখাটিকে পুনরায় তৈরি করে যাতে এটি সফলভাবে পুনরায় মার্জ করা যায়
"প্রত্যাবর্তন প্রত্যাবর্তন" করার প্রয়োজন ছাড়াই (দেখুন প্রত্যাবর্তন-একটি-ত্রুটি-সংযোজন কিভাবে[1] জন্য
বিস্তারিত)।

মার্জ করুন কৌশলগুলি


মার্জ মেকানিজম (গিট মার্জ এবং গিট পুল কমান্ড) ব্যাকএন্ডকে অনুমতি দেয় মার্জ কৌশল
-s বিকল্পের সাথে বেছে নেওয়া হবে। কিছু কৌশল তাদের নিজস্ব বিকল্পও নিতে পারে, যা হতে পারে
-এক্স দিয়ে পাস গিট মার্জ এবং/অথবা গিট টানের আর্গুমেন্ট।

সমাধান
এটি শুধুমাত্র দুটি মাথার সমাধান করতে পারে (যেমন বর্তমান শাখা এবং অন্য একটি শাখা যা আপনি টানছেন
থেকে) একটি 3-ওয়ে মার্জ অ্যালগরিদম ব্যবহার করে। এটি ক্রিস-ক্রস মার্জকে সাবধানে সনাক্ত করার চেষ্টা করে
অস্পষ্টতা এবং সাধারণত নিরাপদ এবং দ্রুত বলে মনে করা হয়।

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

সার্জারির পুনরাবৃত্তি কৌশল নিম্নলিখিত বিকল্পগুলি নিতে পারে:

ভালুক
এই বিকল্পটি বিরোধপূর্ণ হাঙ্কদের পক্ষপাতের মাধ্যমে স্বয়ংক্রিয়ভাবে সমাধান করতে বাধ্য করে আমাদের
সংস্করণ অন্য গাছ থেকে পরিবর্তন যা আমাদের পক্ষের সাথে সাংঘর্ষিক নয়
মার্জ ফলাফল প্রতিফলিত. একটি বাইনারি ফাইলের জন্য, সম্পূর্ণ বিষয়বস্তু নেওয়া হয়
আমাদের পক্ষ থেক.

এই সঙ্গে বিভ্রান্ত করা উচিত নয় ভালুক মার্জ কৌশল, যা এমনকি চেহারা না
অন্য গাছে কি আছে। এটি অন্য গাছের সমস্ত কিছু বাতিল করে দেয়,
প্রকাশক আমাদের ইতিহাসে যা ঘটেছিল তার সবই রয়েছে।

তাহাদেরই
এটি এর বিপরীত ভালুক.

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

ডিফ-অ্যালগরিদম=[ধৈর্য
বলে মার্জ-রিকারসিভ একটি ভিন্ন ভিন্ন অ্যালগরিদম ব্যবহার করতে, যা এড়াতে সাহায্য করতে পারে
অগুরুত্বপূর্ণ ম্যাচিং লাইনের কারণে ঘটে যাওয়া ভুলগুলি (যেমন বন্ধনী থেকে
স্বতন্ত্র ফাংশন)। আরো দেখুন git-diff(1) --ডিফ-অ্যালগরিদম।

উপেক্ষা-স্থান-পরিবর্তন, উপেক্ষা-সমস্ত-স্থান, উপেক্ষা-স্পেস-এট-ইওল
শ্বেতস্থান পরিবর্তনের নির্দেশিত প্রকারের সাথে লাইনগুলিকে অপরিবর্তিত হিসাবে বিবেচনা করে৷
একটি ত্রিমুখী একত্রীকরণের খাতিরে। হোয়াইটস্পেস পরিবর্তনগুলি একটি লাইনের অন্যান্য পরিবর্তনের সাথে মিশ্রিত হয়
উপেক্ষা করা হয় না। আরো দেখুন git-diff(1) -b, -w, এবং --ignore-space-at-eol.

· যদি তাদের সংস্করণ শুধুমাত্র একটি লাইনে সাদা স্থান পরিবর্তনগুলি প্রবর্তন করে, আমাদের সংস্করণ হয়
ব্যবহৃত;

· যদি আমাদের সংস্করণ হোয়াইটস্পেস পরিবর্তন প্রবর্তন কিন্তু তাদের সংস্করণ একটি অন্তর্ভুক্ত
উল্লেখযোগ্য পরিবর্তন, তাদের সংস্করণ ব্যবহার করা হয়;

অন্যথায়, একত্রীকরণ স্বাভাবিক উপায়ে এগিয়ে যায়।

পুনর্নবীকরণ
এটি একটি ভার্চুয়াল চেক-আউট এবং একটি ফাইলের তিনটি পর্যায়ে চেক-ইন চালায় যখন
একটি ত্রিমুখী একত্রীকরণ সমাধান করা। শাখা একত্রিত করার সময় এই বিকল্পটি ব্যবহার করা হয়
বিভিন্ন ক্লিন ফিল্টার বা শেষ-অফ-লাইন স্বাভাবিকীকরণ নিয়মের সাথে। দেখুন "একত্রীকরণ
বিভিন্ন চেকইন/চেকআউট বৈশিষ্ট্য সহ শাখা" ইন gitaattributes(5) এর জন্য
বিবরণ।

no- renormalize
পুনর্নবীকরণ বিকল্পটি নিষ্ক্রিয় করে। এটি merge.renormalize ওভাররাইড করে
কনফিগারেশন পরিবর্তনশীল।

rename-threshold=
পুনঃনামকরণ সনাক্তকরণের জন্য ব্যবহৃত সাদৃশ্য থ্রেশহোল্ড নিয়ন্ত্রণ করে। আরো দেখুন git-diff(1)
-এম.

সাবট্রি[= ]
এই বিকল্প একটি আরো উন্নত ফর্ম সাবট্রি কৌশল, যেখানে কৌশল তৈরি করে
কিভাবে দুটি গাছকে একত্রিত করার সময় একে অপরের সাথে মেলাতে স্থানান্তর করতে হবে তার একটি অনুমান।
পরিবর্তে, নির্দিষ্ট পথ তৈরি করতে উপসর্গযুক্ত (বা শুরু থেকে ছিনতাই করা হয়)
দুটি গাছের আকৃতি মিলে যায়।

অক্টোপাস
এটি দুটির বেশি মাথার মামলার সমাধান করে, কিন্তু একটি জটিল মার্জ করতে অস্বীকার করে
ম্যানুয়াল রেজোলিউশন প্রয়োজন। এটা প্রাথমিকভাবে বিষয় শাখা bundling জন্য ব্যবহার করা বোঝানো হয়
একসাথে মাথা. এর থেকে বেশি টান বা মার্জ করার সময় এটি ডিফল্ট মার্জ কৌশল
একটি শাখা।

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

সাবট্রি
এটি একটি পরিবর্তিত পুনরাবৃত্তিমূলক কৌশল। গাছ A এবং B একত্রিত করার সময়, যদি B এর সাথে মিলে যায়
A, B এর একটি সাবট্রি প্রথমে A-এর গাছের কাঠামোর সাথে মেলে এর পরিবর্তে সামঞ্জস্য করা হয়
একই স্তরে গাছ পড়া. এই সমন্বয় এছাড়াও সাধারণ করা হয়
পূর্বপুরুষ গাছ।

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

নোট


আপনি ব্যবহারের প্রভাব বুঝতে হবে ফালতু বা এলেবেলে লোক রি-বেসের ফলে আপনি শেয়ার করা একটি সংগ্রহস্থলে।
নীচে আপস্ট্রিম রিবেস থেকে পুনরুদ্ধার করাও দেখুন।

যখন গিট-রিবেস কমান্ড চালানো হয়, এটি প্রথমে একটি "প্রি-রিবেস" হুক চালাবে যদি একটি
বিদ্যমান আপনি এই হুকটি স্যানিটি চেক করতে ব্যবহার করতে পারেন এবং রিবেসটি না হলে প্রত্যাখ্যান করতে পারেন৷
যথাযথ. একটি উদাহরণের জন্য টেমপ্লেট প্রি-রিবেস হুক স্ক্রিপ্ট দেখুন।

সমাপ্ত, বর্তমান শাখা হবে.

ইন্টার্যাক্টিভ মোড


ইন্টারেক্টিভভাবে রিবেস করার অর্থ হল আপনার কাছে রিবেস করা কমিটগুলি সম্পাদনা করার সুযোগ রয়েছে।
আপনি কমিটগুলিকে পুনরায় সাজাতে পারেন এবং আপনি সেগুলিকে অপসারণ করতে পারেন (খারাপ বা অন্যথায় আগাছা দূর করুন
অবাঞ্ছিত প্যাচ)।

ইন্টারেক্টিভ মোড এই ধরনের কর্মপ্রবাহের জন্য বোঝানো হয়েছে:

1. একটি চমৎকার ধারণা আছে

2. কোড হ্যাক

3. জমা দেওয়ার জন্য একটি সিরিজ প্রস্তুত করুন

4. জমা দিন

যেখানে পয়েন্ট 2. এর কয়েকটি উদাহরণ নিয়ে গঠিত

ক) নিয়মিত ব্যবহার

1. একটি প্রতিশ্রুতি যোগ্য কিছু শেষ

2. প্রতিশ্রুতিবদ্ধ

খ) স্বাধীন ফিক্সআপ

1. বুঝতে হবে যে কিছু কাজ করে না

2. এটি ঠিক করুন

3. এটা কমিট

কখনও কখনও জিনিস স্থির b.2. না-যথেষ্ট নিখুঁত প্রতিশ্রুতি সংশোধন করা যাবে না
সংশোধন করে, কারণ সেই প্রতিশ্রুতিটি প্যাচ সিরিজে গভীরভাবে সমাহিত হয়। যে ঠিক কি
ইন্টারেক্টিভ রিবেস এর জন্য: এটিকে প্রচুর পরিমাণে "a"s এবং "b"s পরে ব্যবহার করুন, পুনর্বিন্যাস করে এবং
সম্পাদনা কমিট, এবং একাধিক কমিট স্কোয়াশ করে একটিতে।

আপনি যে শেষ প্রতিশ্রুতিটি বজায় রাখতে চান তা দিয়ে এটি শুরু করুন:

git rebase - i

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

ডেডবি বেছে নিন এই কমিটের ওয়ানলাইন
fa1afe1 বাছাই করুন পরবর্তী কমিটের ওয়ানলাইন
...

একলাইন বর্ণনা সম্পূর্ণরূপে আপনার আনন্দের জন্য; ফালতু বা এলেবেলে লোক রি-বেসের ফলে তাদের দিকে তাকাবে না
কিন্তু কমিট নামগুলিতে (এই উদাহরণে "deadbee" এবং "fa1afe1"), তাই মুছে ফেলবেন না বা
নাম সম্পাদনা করুন।

"পিক" কমান্ডের পরিবর্তে "সম্পাদনা" কমান্ড দিয়ে আপনি বলতে পারেন ফালতু বা এলেবেলে লোক রি-বেসের ফলে থামতে
সেই প্রতিশ্রুতি প্রয়োগ করার পরে, যাতে আপনি ফাইল এবং/অথবা প্রতিশ্রুতি বার্তা সম্পাদনা করতে পারেন,
প্রতিশ্রুতি সংশোধন করুন, এবং পুনর্বাসন চালিয়ে যান।

আপনি যদি একটি প্রতিশ্রুতির জন্য কমিট বার্তা সম্পাদনা করতে চান তবে "পিক" কমান্ডটি প্রতিস্থাপন করুন
কমান্ড "রিওয়ার্ড"।

একটি প্রতিশ্রুতি ড্রপ করতে, "বাছাই" কমান্ডটি "ড্রপ" দিয়ে প্রতিস্থাপন করুন, অথবা শুধু মিলটি মুছুন
লাইন।

আপনি যদি দুটি বা ততোধিক কমিটকে একটিতে ভাঁজ করতে চান তবে এর জন্য "পিক" কমান্ডটি প্রতিস্থাপন করুন
দ্বিতীয় এবং পরবর্তী প্রতিশ্রুতি "স্কোয়াশ" বা "ফিক্সআপ" দিয়ে। যদি প্রতিশ্রুতি ভিন্ন ছিল
লেখক, ভাঁজ করা কমিট প্রথম কমিটের লেখককে দায়ী করা হবে। দ্য
ভাঁজ করা কমিটের জন্য প্রস্তাবিত কমিট বার্তা হল কমিট বার্তাগুলির সংমিশ্রণ
প্রথম প্রতিশ্রুতি এবং "স্কোয়াশ" কমান্ড সহ যাদের, কিন্তু কমিট বার্তাগুলি বাদ দেয়৷
"fixup" কমান্ডের সাথে কমিট।

ফালতু বা এলেবেলে লোক রি-বেসের ফলে যখন "পিক" কে "সম্পাদনা" দিয়ে প্রতিস্থাপিত করা হয় বা যখন কোনো কমান্ড ব্যর্থ হয় তখন বন্ধ হবে
ত্রুটিগুলি একত্রিত করতে। যখন আপনি সম্পাদনা এবং/অথবা দ্বন্দ্ব মীমাংসা সম্পন্ন করেন তখন আপনি চালিয়ে যেতে পারেন
গিট রিবেসের সাথে -- চালিয়ে যান।

উদাহরণস্বরূপ, আপনি যদি শেষ 5টি কমিট পুনরায় সাজাতে চান, যেমন HEAD~4 যা ছিল তা হয়ে যায়
নতুন প্রধান। যে অর্জন, আপনি কল হবে ফালতু বা এলেবেলে লোক রি-বেসের ফলে এটার মত:

$ git rebase -i HEAD~5

এবং তালিকার শেষে প্রথম প্যাচ সরান.

আপনি মার্জ সংরক্ষণ করতে চাইতে পারেন, যদি আপনার এই মত একটি ইতিহাস থাকে:

X
\
A---M---B
/
---ও---ও---পি---প্রশ্ন

ধরুন আপনি "A" থেকে "Q" থেকে শুরু করে সাইড ব্রাঞ্চ রিবেস করতে চান। নিশ্চিত করুন যে
বর্তমান হেড হল "B", এবং কল করুন

$ git rebase -i -p --onto QO

পুনর্বিন্যাস এবং সম্পাদনা কমিট সাধারণত অপরীক্ষিত মধ্যবর্তী পদক্ষেপ তৈরি করে। তুমি চাইতে পারো
পরীক্ষা চালানোর মাধ্যমে আপনার ইতিহাস সম্পাদনা কিছু ভঙ্গ করেনি তা পরীক্ষা করতে, বা অন্তত
"exec" কমান্ড (শর্টকাট "x") ব্যবহার করে ইতিহাসের মধ্যবর্তী পয়েন্টে পুনরায় কম্পাইল করা হচ্ছে।
আপনি এই মত একটি করণীয় তালিকা তৈরি করে তা করতে পারেন:

ডেডবি ইমপ্লিমেন্ট ফিচার XXX বেছে নিন
fixup f1a5c00 ফিক্স XXX ফিক্স
exec করা
c0ffeee বাছাই পরবর্তী কমিটের ওয়ানলাইন
ডেডব্যাব এডিট করার পর ওয়ানলাইন কমিট
exec cd subdir; পরীক্ষা করা
...

যখন একটি কমান্ড ব্যর্থ হয় (অর্থাৎ নন-0 স্ট্যাটাস সহ প্রস্থান) তখন ইন্টারেক্টিভ রিবেস বন্ধ হয়ে যাবে
আপনাকে সমস্যা সমাধানের সুযোগ দিন। আপনি গিট রিবেস দিয়ে চালিয়ে যেতে পারেন -- চালিয়ে যান।

"exec" কমান্ডটি একটি শেলে কমান্ড চালু করে ($SHELL এ নির্দিষ্ট করা হয়েছে, বা
ডিফল্ট শেল যদি $SHELL সেট না থাকে), তাই আপনি শেল বৈশিষ্ট্যগুলি ব্যবহার করতে পারেন (যেমন "cd", ">", ";"
...)। কমান্ডটি কার্যকরী গাছের মূল থেকে চালিত হয়।

$ git rebase -i --exec "পরীক্ষা করুন"

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

5928aea একটা বেছে নিন
exec পরীক্ষা করা
04d0fda দুই বাছাই করুন
exec পরীক্ষা করা
ba46169 তিনটি বাছাই করুন
exec পরীক্ষা করা
f4593f9 চার বাছাই করুন
exec পরীক্ষা করা

বিভক্ত করা কমিট


ইন্টারেক্টিভ মোডে, আপনি "সম্পাদনা" অ্যাকশন দিয়ে কমিট চিহ্নিত করতে পারেন। যাইহোক, এই না
অগত্যা যে মানে ফালতু বা এলেবেলে লোক রি-বেসের ফলে আশা করে যে এই সম্পাদনার ফলাফল ঠিক একটি প্রতিশ্রুতি হবে।
প্রকৃতপক্ষে, আপনি প্রতিশ্রুতিটিকে পূর্বাবস্থায় ফিরিয়ে আনতে পারেন, অথবা আপনি অন্যান্য কমিট যোগ করতে পারেন। এটি একটি বিভক্ত করতে ব্যবহার করা যেতে পারে
দুই ভাগে প্রতিশ্রুতিবদ্ধ:

গিট রিবেস -i দিয়ে একটি ইন্টারেক্টিভ রিবেস শুরু করুন ^, কোথায় প্রতিশ্রুতি হয়
আপনি বিভক্ত করতে চান। প্রকৃতপক্ষে, যেকোন কমিট রেঞ্জ তা করবে, যতক্ষণ না এটি থাকে
প্রতিশ্রুতিবদ্ধ

· আপনি যে প্রতিশ্রুতিটিকে "সম্পাদনা" ক্রিয়া দ্বারা বিভক্ত করতে চান তা চিহ্নিত করুন।

যখন সেই কমিট সম্পাদনার কথা আসে, গিট রিসেট হেড^ চালান। প্রভাব হল যে
হেড এক দ্বারা rewound হয়, এবং সূচক স্যুট অনুসরণ করে. তবে কাজের গাছ থাকে
একই.

· এখন সূচীতে পরিবর্তনগুলি যোগ করুন যা আপনি প্রথম কমিটে রাখতে চান। তুমি পারবে
গিট অ্যাড ব্যবহার করুন (সম্ভবত ইন্টারেক্টিভভাবে) বা ফালতু বা এলেবেলে লোক GUI (বা উভয়) তা করতে।

এখন যেই কমিট মেসেজ উপযুক্ত তা দিয়ে এখন-বর্তমান সূচক কমিট করুন।

আপনার কাজের গাছ পরিষ্কার না হওয়া পর্যন্ত শেষ দুটি ধাপ পুনরাবৃত্তি করুন।

গিট রিবেস দিয়ে রিবেস চালিয়ে যান --continue।

যদি আপনি একেবারে নিশ্চিত না হন যে মধ্যবর্তী সংশোধনগুলি সামঞ্জস্যপূর্ণ (তারা
কম্পাইল, testsuite পাস, ইত্যাদি) আপনি ব্যবহার করা উচিত ফালতু বা এলেবেলে লোক লুক্কায়িত স্থান দূরে লুকিয়ে রাখা
প্রতিটি প্রতিশ্রুতির পরে এখনও-প্রতিশ্রুতিবদ্ধ নয় পরিবর্তনগুলি পরীক্ষা করুন এবং সংশোধন করা হলে প্রতিশ্রুতি সংশোধন করুন
প্রয়োজনীয়।

পুনরুদ্ধার করা হচ্ছে থেকে আপস্ট্রীম REBASE


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

ব্যাখ্যা করার জন্য, ধরুন আপনি এমন একটি পরিস্থিতিতে আছেন যেখানে কেউ একটি বিকাশ করে সাবসিস্টেম শাখা,
এবং আপনি একটি কাজ করছেন বিষয় যে এই উপর নির্ভরশীল সাবসিস্টেম. আপনি সঙ্গে শেষ হতে পারে
নিম্নলিখিত মত একটি ইতিহাস:

o---o---o---o---o---o---o---o---o মাস্টার
\
o---o---o---o---o সাবসিস্টেম
\
*---*---* বিষয়

If সাবসিস্টেম বিরুদ্ধে rebased হয় মালিক, নিম্নলিখিত ঘটে:

o---o---o---o---o---o---o---o মাস্টার
\\
o---o---o---o---o o'--o'-o'-o'--o' সাবসিস্টেম
\
*---*---* বিষয়

যদি আপনি এখন স্বাভাবিক হিসাবে উন্নয়ন চালিয়ে যান, এবং অবশেষে একত্রীকরণ বিষয় থেকে সাবসিস্টেম, দ্য
থেকে কমিট সাবসিস্টেম চিরতরে সদৃশ থাকবে:

o---o---o---o---o---o---o---o মাস্টার
\\
o---o---o---o---o o'--o'-o'-o'--o'--M সাবসিস্টেম
\/
*---*---*-.........-*---* বিষয়

এই ধরনের সদৃশগুলিকে সাধারণত ভ্রুকুটি করা হয় কারণ তারা ইতিহাসকে বিশৃঙ্খল করে, এটি তৈরি করে
অনুসরণ করা কঠিন। জিনিসগুলি পরিষ্কার করার জন্য, আপনাকে কমিটগুলি প্রতিস্থাপন করতে হবে বিষয় থেকে
নতুন সাবসিস্টেম টিপ, অর্থাৎ, রিবেস বিষয়. এটি একটি লহরী প্রভাবে পরিণত হয়: যে কেউ নিচের দিকে
থেকে বিষয় রিবেস করতে বাধ্য হয়, এবং তাই!

দুটি ধরণের সংশোধন রয়েছে, যা নিম্নলিখিত উপধারায় আলোচনা করা হয়েছে:

সহজ ক্ষেত্রে: পরিবর্তনগুলি আক্ষরিক অর্থেই একই।
এই ঘটবে যদি সাবসিস্টেম রিবেস একটি সাধারণ রিবেস ছিল এবং কোন দ্বন্দ্ব ছিল না।

হার্ড কেস: পরিবর্তনগুলি একই নয়।
এই ঘটবে যদি সাবসিস্টেম রিবেসে দ্বন্দ্ব ছিল, অথবা বাদ দেওয়ার জন্য --interactive ব্যবহার করা হয়েছে,
সম্পাদনা, স্কোয়াশ, বা ফিক্সআপ কমিট; অথবা যদি আপস্ট্রিম প্রতিশ্রুতির মধ্যে একটি ব্যবহার করে -- সংশোধন, রিসেট,
বা ফিল্টার-শাখা।

সার্জারির সহজ কেস
শুধুমাত্র পরিবর্তন (প্যাচ আইডি ভিন্ন বিষয়বস্তুর উপর ভিত্তি করে) চালু হলেই কাজ করে সাবসিস্টেম হয়
আক্ষরিকভাবে রিবেসের আগে এবং পরে একই সাবসিস্টেম করেছিল.

যে ক্ষেত্রে, ফিক্স কারণ সহজ ফালতু বা এলেবেলে লোক রি-বেসের ফলে ইতিমধ্যেই পরিবর্তনগুলি এড়িয়ে যেতে জানে৷
নতুন উজানে উপস্থিত। তাই আপনি যদি বলেন (ধরে নিচ্ছি আপনি চালু আছেন বিষয়)

$ git রিবেস সাবসিস্টেম

আপনি নির্দিষ্ট ইতিহাস সঙ্গে শেষ হবে

o---o---o---o---o---o---o---o মাস্টার
\
o'--o'--o'--o'--o' সাবসিস্টেম
\
*---*---* বিষয়

সার্জারির কঠিন কেস
জিনিস আরো জটিল পেতে যদি সাবসিস্টেম পরিবর্তনগুলি সঠিকভাবে সঙ্গতিপূর্ণ নয়৷
পুনর্বাসনের আগে।

বিঃদ্রঃ
যদিও একটি "সহজ কেস পুনরুদ্ধার" কখনও কখনও কঠিন এমনকি সফল হতে দেখা যায়
ক্ষেত্রে, এটি অনিচ্ছাকৃত ফলাফল হতে পারে। উদাহরণস্বরূপ, একটি প্রতিশ্রুতি যা এর মাধ্যমে সরানো হয়েছিল
git rebase -- ইন্টারেক্টিভ হবে পুনরুত্থিত!

ধারণাটি ম্যানুয়ালি বলতে হবে ফালতু বা এলেবেলে লোক রি-বেসের ফলে "যেখানে পুরাতন সাবসিস্টেম শেষ এবং আপনার বিষয়
শুরু হয়েছে", অর্থাৎ, তাদের মধ্যে পুরানো একীভূত-বেস কি ছিল। আপনাকে একটি উপায় খুঁজে বের করতে হবে
পুরানো শেষ কমিট নাম সাবসিস্টেম, উদাহরণ স্বরূপ:

· সঙ্গে সাবসিস্টেম reflog: পরে ফালতু বা এলেবেলে লোক আনা, পুরানো টিপ সাবসিস্টেম এ আছে
সাবসিস্টেম@{1}। পরবর্তী ফেচ সংখ্যা বৃদ্ধি করবে। (দেখা git-reflog(1)।

· এর ডগা আপেক্ষিক বিষয়: জেনেও তোমার বিষয় তিনটি কমিট আছে, পুরানো টিপ
of সাবসিস্টেম বিষয় হতে হবে~3.

তারপর আপনি পুরানো সাবসিস্টেম..বিষয়টিকে নতুন টিপে প্রতিস্থাপন করতে পারেন (রিফ্লগের জন্য
কেস, এবং ধরে নিচ্ছি আপনি আছেন বিষয় ইতিমধ্যে):

$ গিট রিবেস --অনটো সাবসিস্টেম সাবসিস্টেম@{1}

একটি "হার্ড কেস" পুনরুদ্ধারের লহরী প্রভাব বিশেষ করে খারাপ: সবাই নিম্নধারা থেকে
বিষয় এখন একটি "হার্ড কেস" পুনরুদ্ধার করতে হবে!

onworks.net পরিষেবা ব্যবহার করে অনলাইনে গিট-রিবেস ব্যবহার করুন


বিনামূল্যে সার্ভার এবং ওয়ার্কস্টেশন

উইন্ডোজ এবং লিনাক্স অ্যাপ ডাউনলোড করুন

লিনাক্স কমান্ডগুলি

Ad