পুনর্বাসনের কাজ চলছে। প্রতিশ্রুতি দিতে পারি না। কীভাবে এগিয়ে যাওয়া বা থামানো (গর্ভপাত)?


139

আমি যখন চালাচ্ছি:

git status

আমি এটা দেখি:

rebase in progress; onto 9c168a5
You are currently rebasing branch 'master' on '9c168a5'.
(all conflicts fixed: run "git rebase --continue")
nothing to commit, working directory clean

যখন আমি করি:

ls `git rev-parse --git-dir` | grep rebase || echo no rebase

আমি দেখছি: রিবেস-প্রয়োগ

আমি উত্স প্রতিশ্রুতিবদ্ধ করতে পারি না।

git branch

শো:

* (no branch, rebasing master)
  develop
  master

আমি আটকে গেছি. আমি কি করতে হবে তা জানি না? সত্যিই কি পুনর্বাসনে এই দীর্ঘ সময় লাগবে? git rebase --continueকিছু করে না গিট স্ট্যাটাসে আমার কিছু নেই .. আমি কেবল রিবেসের জন্য অপেক্ষা করছি। আমি কি করতে পারি?

আপডেট: এটি আউটপুট: গিট রিবেস - কনটিনিউ

Applying: no message
No changes - did you forget to use 'git add'?
If there is nothing left to stage, chances are that something else
already introduced the same changes; you might want to skip this patch.

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".

গিট অ্যাড কিছুই নাই.

উত্তর:


255

রিবেস পটভূমিতে ঘটে না। "রিবেস প্রগতিতে চলছে" এর অর্থ হল আপনি পুনর্বাসনা শুরু করেছিলেন, এবং দ্বন্দ্বের কারণে রিবেস ব্যাহত হয়েছিল। আপনাকে রিবেস ( git rebase --continue) পুনরায় চালু করতে হবে বা ( git rebase --abort) এটি বাতিল করতে হবে ।

git rebase --continueপ্রস্তাবিত ত্রুটির বার্তাটি হিসাবে , আপনি গিটকে একটি প্যাচ প্রয়োগ করতে বলেছিলেন যা খালি প্যাচের ফলস্বরূপ। সম্ভবত, এর অর্থ প্যাচটি ইতিমধ্যে প্রয়োগ হয়েছিল এবং আপনি এটি ব্যবহার করে ফেলে দিতে চান git rebase --skip


আপনার অনুরোধ অনুযায়ী গিট রিবেস - কনটিনিউ অন্তর্ভুক্ত করার জন্য আমি পোস্টটি আপডেট করেছি।
জোসেফ চেম্বারস

2
ঠিক আছে, তারপরে "এটি রিবাজে - কনটিনিউ কিছু করে না" ভুল ছিল। সহায়তা পাওয়ার জন্য আপনার "গিট রিবেস - ক্রিয়াকলাপ ত্রুটিগুলি নিম্নরূপ ..." লেখা উচিত ছিল।
ম্যাথিউ ময়

3
খুব খারাপভাবে এর ডকুমেন্টেশন, এটি পুনরাবৃত্তি করে চলেছে যে আপনি 'গিট রিবেস - চালিয়ে যান' এবং আপনি এটি অসীমভাবে বলবেন an
জিন-পল

6
গিট রিবেস - স্কিপ এটা করেছে!
বোরঝহ

যেহেতু এটি আপেক্ষিক নতুনদের জন্য (আমার মত) এই প্রশ্নটি চালানো বা এটি চালানোর সমস্ত কথা বলা তার পক্ষে উপযুক্ত বলে আমি মনে করি - একটি নতুন টার্মিনাল খোলার এবং রেপোতে ফিরে যাওয়া দরকার ... এ সমস্যা ছাড়া আমার ইস্যুতে কিছুই চলবে না এটি করছেন
Kdean571

10

আমি 'রিবেস স্ট্যাটাস' এ আটকে গেলাম, পেয়েছি

On branch master
Your branch is up to date with 'origin/master'.

You are currently rebasing.
  (all conflicts fixed: run "git rebase --continue")

nothing to commit, working tree clean

কিন্তু চলমান git rebase --skipফলন error: could not read '.git/rebase-apply/head-name': No such file or directory

দৌড়াদৌড়ি rm -fr ".git/rebase-apply"সাহায্য করেছে।

দ্রষ্টব্য: অবশ্যই, যদি আপনি রিবাজটির বিষয়ে চিন্তা করেন না বা আপনি যদি আগের কোনও রিবাজে আটকে থাকেন তবে আপনি আর চাইবেন না it


8
  • পদক্ষেপ 1: চালিয়ে যান git rebase --continue

  • পদক্ষেপ 2: এরপরে কনফ্লিক্টস ঠিক করুন git add .

  • পদক্ষেপ 1 এ ফিরে যান, এখন যদি এটি no changes ..চালায় git rebase --skipতবে রান করুন তবে পদক্ষেপ 1 এ ফিরে যান

  • আপনি যদি কেবল রিবেস রান ছেড়ে দিতে চান git rebase --abort

  • সমস্ত পরিবর্তন একবার চালানো হয়ে গেলে git commit -m "rebase complete"এবং আপনার কাজ শেষ হয়ে যায়।


6

আপনি আপনার রিপোজিটরিটি পুনরায় চালু করতে বলেছিলেন। দেখে মনে হচ্ছে আপনি কোনও প্রতিশ্রুতিতে ছিলেন (SHA 9c168a5 দ্বারা চিহ্নিত) এবং তারপরে git rebase masterবা করেছিলেন git pull --rebase master

আপনি সেই প্রতিশ্রুতি অনুসারে শাখা মাস্টারকে মুক্তি দিচ্ছেন। আপনি মাধ্যমে রিবেস শেষ করতে পারেন git rebase --abort। এটি আপনাকে প্রত্যাখ্যান শুরু করার আগে যে অবস্থায় ছিল সেদিকে ফিরিয়ে আনবে।


আমি কখনোই git rebase/pull --rebase master। আমি প্রায়শই এই অবস্থায় থাকি ... দ্বন্দ্বের কারণে। আমি একটি ফাইল পরিবর্তন করি, একটি টানশক্তি করি, আমার পরিবর্তনগুলি পুনরুদ্ধার করি এবং নতুন প্যাচটি খালি যা গিটের মস্তিষ্ককে আঘাত করে যা এই "পুনরায় মোডে" প্রবেশ করার সিদ্ধান্ত নিয়েছে ...
অ্যালেক্সিস উইলক

6

আমি সম্প্রতি এই রাজ্যে .ুকলাম। কোনও পুনর্বাসনের সময় বিরোধগুলি সমাধান করার পরে, আমি চালানোর পরিবর্তে আমার পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ git rebase --continue। এই একই বার্তা তোমাকে দেখেছিলাম যখন আপনি আপনার দৌড়ে উৎপাদ git statusএবং git rebase --continueকমান্ড। আমি সমস্যাটি চালিয়ে git rebase --abort, এবং তারপরে পুনরায় চালু করে সমাধান করেছি। কেউ সম্ভবত রিবেসটি এড়িয়ে যেতে পারে তবে আমি নিশ্চিত ছিলাম না যে আমাকে কী অবস্থায় ফেলে দেবে।

$ git rebase --continue
Applying: <commit message>
No changes - did you forget to use 'git add'?
If there is nothing left to stage, chances are that something else
already introduced the same changes; you might want to skip this patch.

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".

$ git status
rebase in progress; onto 4df0775
You are currently rebasing branch '<local-branch-name>' on '4df0775'.
  (all conflicts fixed: run "git rebase --continue")

nothing to commit, working directory clean

এর উপরন্তু --abort(+1 টি), আপনি এখন --quit( stackoverflow.com/a/41363262/6309 )
VonC

দ্বন্দ্ব সংশোধন করার পরে। তারপরে গিট কমিট কল করুন। অন্য কিছু কাজ করুন, তারপরে আবার গিট কমিট কল করুন। এই পদ্ধতিটি যদি গিট রিবেস --abort ব্যবহার করে, আপনি বিরোধের পরে কাজ করছেন সমস্ত কাজ শেষ হয়ে যাবে। সুতরাং সাবধান থাকুন
জ্বি

3

যদি git rebase --abortকাজ না করে এবং আপনি এখনও পান

ত্রুটি: '.git / rebase-প্রয়োগ / প্রধান নাম' পড়তে পারেনি: এই জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই

টাইপ করুন:

git rebase --quit

0

আমি সেটআপ আমার gitকাছে autorebase একটি উপরgit checkout

# in my ~/.gitconfig file
[branch]
    autosetupmerge = always
    autosetuprebase = always

অন্যথায়, আপনি যখন শাখাগুলির মধ্যে স্যুইচ করেন এটি স্বয়ংক্রিয়ভাবে মার্জ হয়ে যায়, যা আমি মনে করি ডিফল্ট হিসাবে সবচেয়ে খারাপ পছন্দ।

যাইহোক, এটির একটি পার্শ্ব প্রতিক্রিয়া রয়েছে, যখন আমি কোনও শাখায় স্যুইচ করি এবং তারপরে git cherry-pick <commit-id>আমি প্রতিবার দ্বন্দ্ব নেওয়ার পরে এই অদ্ভুত অবস্থায় শেষ করি ।

আমাকে আসলে বাতিল করতে হবে rebase, তবে প্রথমে আমি দ্বন্দ্বটি সংশোধন করব, git add /path/to/fileফাইলটি (এই ক্ষেত্রে দ্বন্দ্ব সমাধানের আর একটি খুব অদ্ভুত উপায় ?!), তারপরে একটি করুন git commit -i /path/to/file। এখন আমি এটিকে বাতিল করতে পারি rebase:

git checkout <other-branch>
git cherry-pick <commit-id>
...edit-conflict(s)...
git add path/to/file
git commit -i path/to/file
git rebase --abort
git commit .
git push --force origin <other-branch>

দ্বিতীয়টি git commit .গর্ভপাত থেকে এসেছে বলে মনে হচ্ছে। আমি আমার উত্তরটি ঠিক করে দিচ্ছি যদি আমি জানতে পারি যে আমার rebaseতাড়াতাড়ি বাতিল করা উচিত ।

--forceযদি আপনি অন্য করে লাফালাফি এবং উভয় শাখা নেই ধাক্কা প্রয়োজন নেই মসৃণ (উভয় অপরের থেকে করে অনুপস্থিত)।


"অন্যথায়, আপনি যখন শাখাগুলির মধ্যে স্যুইচ করবেন তখন এটি স্বয়ংক্রিয়ভাবে মার্জ হয়ে যায়" - উম, না। আপনি যখন শাখাগুলি স্যুইচ করেন তখন গিট কোনও ধরণের মার্জ বা পুনর্বাসনা করে না। autosetupmergeকীভাবে git pullনতুন শাখাগুলির জন্য কনফিগার করা আছে তা করতে হবে ।
মার্নেন লাইবো-কোসার

এই সময়ে যখন আমি সেই সমস্যাটির সাথে লড়াই করছি, এটি অবশ্যই বিভিন্ন কোডের একরকম মার্জ করে। আমার বর্তমান সেটআপটি সমস্যাটি এড়াতে পারে বলে মনে হচ্ছে। স্যুইচ করার চেষ্টা করার আগে আপনার বর্তমান শাখার কমিট + পুশ না করার সমস্যা রয়েছে।
অ্যালেক্সিস উইলক

গিট আপনাকে বলবে যে আপনার অনুমতিবিহীন পরিবর্তনগুলি শাখাগুলি স্যুইচিং রোধ করতে পারে, তাই সেখানে উদ্বিগ্ন হওয়ার মতো খুব বেশি কিছু নেই, আছে কি? নাকি অন্য কিছু নিয়ে কথা বলছেন?
মার্নেন লাইবো-কোসার

0

আইডিই থেকে অ্যাবোর্ট / স্কিপ / চালিয়ে যাওয়ার অন্য একটি বিকল্প

ভিসিএস> গিট> অ্যাবউট রিবেসিং

এখানে চিত্র বর্ণনা লিখুন


0

আমার একটি ত্রুটি যা বিটবকেট থেকে পপ আপ হয়েছিল। রান git am --skipএটি স্থির করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.