ডিম দ্রুত-ফরোয়ার্ড প্রত্যাখ্যান করেছে


89

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


"একটি README দিয়ে এই সংগ্রহস্থলটি আরম্ভ করুন" দিয়ে একটি নতুন রেপো তৈরি করার পরেও আমি একই সমস্যা পেয়েছি। আমি সেটিকে সরিয়ে দিয়েছি এবং এই চেচবক্স ছাড়াই আবার তৈরি করেছি।
অ্যান্ড্রু

@ অ্যান্ড্রু ঠিক বলেছেন
ড্যানি

উত্তর:


228

আমার একই সমস্যা ছিল এবং আমি এটি ঠিক করতে সক্ষম হয়েছি। afk5min ঠিক ছিল, সমস্যাটি সেই শাখা যা থেকে আপনি কোডটি টানছেন সে থেকে দূরবর্তী সংগ্রহস্থলের পরিবর্তিত হয়েছে। স্ট্যান্ডার্ড গিট অনুশীলন ( http://git-scm.com/book/en/Git-Basics-Working-with-Roteotes ) অনুসারে, আপনাকে (এখন) দূরবর্তী সংগ্রহস্থলগুলিতে এই পরিবর্তনগুলি আপনার স্থানীয় পরিবর্তনের সাথে একীভূত করতে হবে প্রতিশ্রুতিবদ্ধ করতে পারেন। এটি উপলব্ধি করে, এটি আপনাকে অন্যের পরিবর্তনগুলি গ্রহণ করতে এবং সেগুলি আপনার কোডে একীভূত করতে বাধ্য করে, এটি নিশ্চিত করে যে আপনার কোডটি অন্য পরিবর্তনগুলি স্থির করে চলতে থাকবে।

যাইহোক, পদক্ষেপে।

  1. আপনি যে শাখাটি মূলত এঁকেছেন সেগুলি আনতে 'আনুন' কনফিগার করুন।

  2. রিমোট শাখা আনুন।

  3. আপনার স্থানীয় শাখায় সেই দূরবর্তী শাখাটি মার্জ করুন।

  4. আপনার স্থানীয় রেপোতে (মার্জ) পরিবর্তনের প্রতিশ্রুতিবদ্ধ।

  5. রিমোট রেপোতে পরিবর্তনটি চাপুন।

বিস্তারিত...

  1. গ্রহনে, 'গিট রিপোজিটরিজ' দেখুনটি খুলুন।

  2. আপনার স্থানীয় সংগ্রহস্থলটি দেখেছেন এবং সাবফোল্ডার হিসাবে দূরবর্তী সংগ্রহস্থলটি দেখতে পাবেন তা নিশ্চিত করুন। আমার সংস্করণে এটিকে রিমোটস বলা হয় এবং তারপরে আমি এর মধ্যে দূরবর্তী প্রকল্পটি দেখতে পারি।

  3. বাম দিকে নির্দেশ করে সবুজ তীর সন্ধান করুন, এটিই 'আনুন' তীর। ডান ক্লিক করুন এবং 'কনফিগার ফ্যাচ' নির্বাচন করুন।

  4. আপনার ইউআরআই দেখতে হবে, এটি নিশ্চিত করে যে এটি দূরবর্তী সংগ্রহস্থলের দিকে নির্দেশ করে।

  5. পপ-আপের রেফ ম্যাপিং বিভাগে দেখুন। আমার খালি ছিল। এটি আপনাকে দূরবর্তী রেফারেন্সগুলি আনতে ইঙ্গিত করবে। 'অ্যাড' ক্লিক করুন।

  6. দূরবর্তী সংগ্রহস্থল থেকে আপনাকে ব্রাঞ্চের নামটি টাইপ করতে হবে। আমার ছিল 'মাস্টার' (বিটিডব্লিউ, এখানে একটি ড্রপডাউন দুর্দান্ত হবে !!, আপাতত আপনাকে এটি টাইপ করতে হবে)। শেষ পর্যন্ত 'সমাপ্তি' ক্লিক করে পপ-আপের মাধ্যমে চালিয়ে যান।

  7. 'সংরক্ষণ করুন এবং আনুন' এ ক্লিক করুন। এটি সেই দূরবর্তী রেফারেন্সটি আনবে।

  8. আপনার স্থানীয় সংগ্রহস্থলের 'শাখা' ফোল্ডারটি দেখুন। আপনার এখন দূরবর্তী ফোল্ডারে সেই দূরবর্তী শাখাটি দেখতে পাওয়া উচিত। আবারও দেখি 'মাস্টার'।

  9. 'শাখা' এর 'স্থানীয়' ফোল্ডারে স্থানীয় শাখায় রাইট-ক্লিক করুন, যার নাম 'মাস্টার'। 'মার্জ' নির্বাচন করুন এবং তারপরে রিমোট শাখাটি নির্বাচন করুন, যার নাম 'উত্স / মাস্টার'।

  10. মার্জ মাধ্যমে প্রক্রিয়া।

  11. আপনার স্থানীয় সংগ্রহস্থলে যেকোন পরিবর্তন প্রতিশ্রুতিবদ্ধ।

  12. আপনার পরিবর্তনগুলি দূরবর্তী সংগ্রহস্থলে চাপুন।

  13. নিজেকে অভিনন্দন জানাচ্ছি, একটি সুস্বাদু পানীয় পান করুন। দিনের বাকি অংশটি ছুটি দিন।


7
এটি উত্তর হিসাবে চিহ্নিত করা উচিত। কবজির মতো কাজ করেছেন। Eclipse এ আমার প্রকল্পের জন্য GitHub এ রেপো তৈরির পরে আমি কোনও ফাইল (সাধারণ README-file) যোগ না করলেও এই সমস্যা দেখা দেয়। ধাপে ধাপে ব্যাখ্যার অনুসরণ করতে সহজতার জন্য অনেক ধন্যবাদ।
rbaleksandar

আমি আপনার পোস্টটি না পড়া পর্যন্ত এই সমস্যাটি আমাকে এক বছর সময় কাটাতে লাগল। আমার ক্ষেত্রে, আমার কোনও রিমোট ছিল না তবে Eclipse 'উত্স' নামে একটি ডিফল্ট তৈরি করেছিল।
ইউজিন ভ্যান ডের মেরভে

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

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

4
রাইট প্রকল্পে এবং তারপর ক্লিক করুন Mergeমাস্টার এবং তারপর ডানদিকে প্রকল্পে আবার ক্লিক push branch Masterকাজ
user1207289

16

আমার ক্ষেত্রে আমি Force Updateচাপ দেওয়ার সময় চেকবক্সটি বেছে নিয়েছিলাম । এটি একটি মোহন মত কাজ করে।


এটি আমার জন্যও কাজ করেছিল। কমিটিকে "সংশোধন" করার পরে আমার ওপির শর্ত ছিল। এবং আনতে আমাকে "আনতে কিছুই দেয়নি"
টোভলাইট

11

ইতিমধ্যে (আপনি যখন আপনার প্রকল্পটি আপডেট করবেন), অন্যান্য কমিটিগুলি 'মাস্টার' শাখায় করা হয়েছে। সুতরাং, আপনার পরিবর্তনগুলি ধাক্কা দিতে সক্ষম হওয়ার জন্য আপনাকে অবশ্যই প্রথমে সেই পরিবর্তনগুলি টানতে হবে।


4
এই ক্ষেত্রে গিটটি বেশ বোকা, আমি সমস্ত পরিবর্তনকে দূরবর্তীতে ঠেলা দিয়েছি। এবং আমি প্রকল্পের একমাত্র কাজ। পৃথিবীতে কেন আমি আবার ধাক্কা দেওয়ার আগে আমাকে রিমোটটি টানতে হবে ???? টানা পরিবর্তনটি মূলত আমার স্থানীয় থেকে আসবে
জুনচেন লিউ

7

Eclipse Luna + Eclipse Git 3.6.1 এর জন্য প্রযোজ্য

আমি,

  1. ক্লোন গিট সংগ্রহস্থল it
  2. উত্স কোডে কিছু পরিবর্তন করেছে
  3. গিট স্টেজিং ভিউ থেকে পর্যায়ক্রমে পরিবর্তনগুলি
  4. অবশেষে, প্রতিশ্রুতিবদ্ধ এবং পুশ!

এবং আমি ইজিট-এর সাথে এই সমস্যার মুখোমুখি হয়েছি এবং এখানেই আমি এটি ঠিক করেছি কীভাবে ..

হ্যাঁ, আমি আমার পরিবর্তনগুলি সম্পাদনের আগে কেউ পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ। সুতরাং পরিবর্তনগুলি প্রত্যাখ্যান করা হয়। এই ত্রুটির পরে, পরিবর্তনগুলি স্থানীয় সংগ্রহস্থলে প্রতিশ্রুতিবদ্ধ হয়। আমি কেবল Pullপরিবর্তনগুলি করতে চাইনি কারণ আমি linear historyনির্দেশিত অনুযায়ী বজায় রাখতে চেয়েছিলাম - কোন ক্ষেত্রে it গিট টানতে ক্ষতিকারক হতে পারে?

সুতরাং, আমি নিম্নলিখিত পদক্ষেপগুলি কার্যকর করেছি

  1. গিট সংগ্রহস্থল দৃষ্টিকোণ থেকে, সম্পর্কিত গিট
    প্রকল্পে ডান ক্লিক করুন
  2. নির্বাচন করুন Fetch from Upstream- এটি দূরবর্তী আপডেটগুলি (রেফারেস এবং অবজেক্টস) এনে দেয় তবে স্থানীয়ভাবে কোনও আপডেট হয় না। আরও তথ্যের জন্য দেখুন 'গিট টান' এবং 'গিট ফেচ' এর মধ্যে পার্থক্য কী?
  3. নির্বাচন Rebase...- এই খোলা একটি পপআপ এ ক্লিক করুন Preserve merges during rebaseদেখুন কেন
    ঠিক কি Git এর আছে "রি-বেসের ফলে --preserve-মার্জ" do (? এবং কেন)
  4. ক্লিক করুন Rebase button
  5. যদি / থাকে তবে conflict(s)6 ধাপ 11 এ যান
  6. একটি Rebase Resultপপআপ উপস্থিত হবে, কেবল ক্লিক করুনOK
  7. file comparatorখুলতে হবে, আপনি পরিবর্তন করতে হবে left side file
  8. একবার আপনি সঠিকভাবে পরিবর্তনগুলি মার্জ করে শেষ করার পরে, Git Stagingদেখুন
  9. stage the changes। অর্থাত্add to index
  10. একই দৃশ্যে, Rebase-> এ ক্লিক করুন Continue। সমস্ত দ্বন্দ্ব সমাধান না হওয়া পর্যন্ত 7 থেকে 10 পুনরাবৃত্তি করুন।
  11. Historyভিউ থেকে , আপনার প্রতিশ্রুতি সারিটি নির্বাচন করুন এবং নির্বাচন করুনPush Commit
  12. Rebase Commits of local.......চেকবক্স নির্বাচন করুন এবং পরবর্তী ক্লিক করুন। কেন উল্লেখ করুন - গিট: উজান থেকে উন্নয়ন শাখায় পুনর্বাসনা করুন
  13. ক্লিক করুন Finish

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


আমি মার্জ করার পরিবর্তে রিবেস ব্যবহারের সাথে একমত। এটি অপ্রয়োজনীয় মার্জ কমিট তৈরি না করায় এটি আরও ভাল। (বিষয়বস্তু: স্ট্যাক ওভারফ্লো পুরোপুরি হাস্যকর হয়ে উঠছে এবং আমার মন্তব্যটি সম্পূর্ণ প্রত্যাখ্যান করে যে আমি "+1" এর জন্য মূলত লিখেছিলাম। আমার মন্তব্য পুরোপুরি গঠনমূলক, আপনাকে ধন্যবাদ।)
nyuszika7h

4

কনফিগার করুন আপনি যখন একটি প্রত্যাখাত বার্তা পান তখন কোডটি চাপ দেওয়ার পরে, কনফিগারটিতে ক্লিক করুন এবং এই ছবিতে প্রদর্শিত বর্ণ হিসাবে যুক্ত ক্লিক করুন

উত্স রেফ এবং গন্তব্য রেফ ড্রপ ডাউন এবং রেফ / হেডস / আপনার ব্র্যাঙ্কনাম এ ক্লিক করুন এবং আবার অ্যাড স্পেক ক্লিক করুন

এখানে চিত্র বর্ণনা লিখুন আপনি ফোর্স আপডেটটি নির্বাচন করেছেন তা নিশ্চিত করুন

এখানে চিত্র বর্ণনা লিখুন অবশেষে সংরক্ষণ করুন এবং রেপোতে কোডটি চাপ দিন


3

গিট ভিউ খুলুন:

1- আপনার প্রকল্পটি নির্বাচন করুন এবং মার্জ 2 চয়ন করুন- দূরবর্তী ট্র্যাকিং নির্বাচন করুন 3- ওকে ক্লিক করুন

গিট রিমোট শাখাটি স্থানীয় সংগ্রহস্থলের সাথে একীভূত করবে

4- তারপর ধাক্কা


2

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


দেখে মনে হচ্ছে অনেক লোক এই সহজ রেজোলিউশনটি অনুপস্থিত: ডি
ব্ল্যাক

0

আমি খুঁজে পেয়েছি যে আপনি অবশ্যই গিট এর সর্বশেষ প্রতিশ্রুতিবদ্ধ হতে হবে। সুতরাং এইগুলি গ্রহণের পদক্ষেপগুলি: 1) নিশ্চিত করুন যে আপনি একই ফাইলগুলিতে কাজ করছেন না, অন্যথায় আপনি একটি DITY_WORK_TREE ত্রুটিতে চলে যাবেন। 2) সর্বশেষ পরিবর্তনগুলি টানুন। 3) আপনার আপডেট প্রতিশ্রুতিবদ্ধ।

আশাকরি এটা সাহায্য করবে.


-1
  1. গিথুব এ যান আপনার নতুন কোডের জন্য একটি রেপো তৈরি করুন।
  2. আপনি যখন উজানের দিকে ধাক্কা দিচ্ছেন তখন Eclise এ নতুন https বা ssh url ব্যবহার করুন;
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.