"গিট পুশ নন-ফাস্ট-ফরোয়ার্ড আপডেটগুলি প্রত্যাখ্যান করা হয়েছিল" এর অর্থ কী?


153

আমি আমার দুটি কম্পিউটার এবং আমার বিকাশ পরিচালনা করতে গিট ব্যবহার করছি। আমি গিটহাবে পরিবর্তন করার চেষ্টা করছি এবং ত্রুটিটি পাচ্ছি।

কিছু refs ধাক্কা ব্যর্থ <repo>। ইতিহাস হারিয়ে যাওয়ার হাত থেকে রক্ষা পেতে আপনার দ্রুত-ফরওয়ার্ড আপডেটগুলি প্রত্যাখ্যান করা হয়েছিল। আবার চাপ দেওয়ার আগে দূরবর্তী পরিবর্তনগুলি মার্জ করুন।

এর কারণ কী হতে পারে এবং আমি কীভাবে এটি ঠিক করতে পারি?

সম্পাদনা করুন:

রেপো টানলে নিম্নলিখিতটি ফিরে আসে:

* শাখা মাস্টার-> মাস্টার (দ্রুত-অগ্রাহী) ইতিমধ্যে আপ টু ডেট

পুশ করা এখনও আমাকে পূর্বোক্ত ত্রুটি দেয়।


উত্তর:


136

গিটহাবের একটি দুর্দান্ত বিভাগ রয়েছে " " নন-ফাস্ট-ফরোয়ার্ড "ত্রুটিগুলি মোকাবেলা করা "

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

অন্যান্য ক্ষেত্রে এই ত্রুটিটি স্থানীয়ভাবে স্থানীয়ভাবে তৈরি git commit --amendবা এর মত আদেশ ব্যবহার করে ধ্বংসাত্মক পরিবর্তনের ফলাফল git rebase
আপনি যোগ করে দূরবর্তী ওভাররাইড করতে পারে যদিও --forceকরতে pushকমান্ড, আপনি শুধুমাত্র তাই যদি আপনি একেবারে নির্দিষ্ট এই কি আপনি কি করতে চান হয় করা উচিত।
জোর-চাপে অন্য ব্যবহারকারীদের জন্য সমস্যা সৃষ্টি করতে পারে যা দূরবর্তী শাখা নিয়ে এসেছিল এবং এটি খারাপ অভ্যাস হিসাবে বিবেচিত হয়। সন্দেহ হলে, জোর করে চাপুন না


গিট দ্রুত-ফরোয়ার্ড মার্জের মতো রিমোটে পরিবর্তন করতে পারে না, যা ভিজ্যুয়াল গিট রেফারেন্সটি এর মতো চিত্রিত করে:

বিকল্প পাঠ

এই নয় ঠিক আপনার ক্ষেত্রে কিন্তু তা দেখতে "দ্রুত এগিয়ে" (কোথায় সাহায্য করে HEADএকটি শাখার কেবল একটি নতুন আরো সাম্প্রতিক চলে যায় কমিট)।


" branch master->master (non-fast-forward) Already-up-to-date" সাধারণত স্থানীয় শাখাগুলির জন্য যা তাদের দূরবর্তী পাল্টা অংশটি ট্র্যাক করে না।
উদাহরণস্বরূপ দেখুন এই SO প্রশ্ন " গিট টান আপ টু ডেট বলে কিন্তু গিট পুশ অ-দ্রুত এগিয়ে প্রত্যাখ্যান করে "।
বা দুটি শাখা সংযুক্ত আছে, তবে তাদের নিজ নিজ ইতিহাসের সাথে একমত নয়:
দেখুন " কখনও শেষ না হওয়া জিআইটি গল্প - আমি এখানে কী ভুল করছি? "

এর অর্থ হল যে আপনার সাবভার্সন শাখা এবং আপনার দূরবর্তী গিট মাস্টার শাখা কোনও কিছুর সাথে একমত নয়।
কিছু পরিবর্তন অন্যের মতো নয় এমন একটিতে চাপ দেওয়া / প্রতিশ্রুতিবদ্ধ হয়েছিল।
জ্বলুনি gitk --all, এবং এটিতে কী ভুল হয়েছে সে সম্পর্কে আপনাকে একটি সূত্র দেওয়া উচিত - ইতিহাসে "কাঁটাচামচ" সন্ধান করুন।


53

এর অর্থ হল যে অন্যান্য কমিটগুলি দূরবর্তী ভাণ্ডারগুলিতে চাপিয়ে দেওয়া হয়েছে যা আপনার কমিট থেকে পৃথক। আপনি সাধারণত এটি দিয়ে সমাধান করতে পারেন

git pull

আপনি ধাক্কা আগে

শেষ পর্যন্ত, "ফাস্ট-ফরওয়ার্ড" এর অর্থ হ'ল কমিটগুলি কোনও সংযুক্তির প্রয়োজন ছাড়াই সরাসরি কাজ গাছের উপরে প্রয়োগ করা যেতে পারে।


2
এটিই আমার পক্ষে কাজ করেছিল! আমি ভুলে গেছি আমি রিপোজিটরি সাইটে রিডমি.এমডি পরিবর্তন করেছি!
রায়ানউইনচেস্টার 5'13

14

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


8

আপনি এই ক্ষেত্রে পুশ অপারেশন সহ শক্তি ব্যবহার করতে চাইতে পারেন

গিট পুশ অরিজিন মাস্টার - ফোর্স


1
এটা ভুল.
গিথুব

6

কখনই কোনও কাজ git -fকরবেন না pushকারণ এটি পরবর্তী সময়ে বিপর্যয়কর পরিণতি হতে পারে।

আপনার কেবল git pullআপনার স্থানীয় শাখাটি করা দরকার।

উদা:

git pull origin 'your_local_branch'

এবং তারপর একটি git push


0

conflicts locallyআপনার পরিবর্তনগুলি দূরবর্তী রেপো / কাঁটাচায় চাপ দেওয়ার আগে আপনাকে মার্জ এবং সমাধান করতে হবে ।

1) টানুন (আনুন এবং মার্জ করুন)

$ git pull remote branch 

2) পরিবর্তনগুলি ধাক্কা

$ git push remote branch 

তবুও আপনি বিকল্প pushব্যবহার করে জোর করে দ্রুত নির্বাচন করতে পারেন --forceতবে এড়ানো উচিত কারণ এটির পরিবর্তনের ক্ষতি হতে পারে বা অন্যান্য অবদানকারীদের উপর খারাপ প্রভাব ফেলতে পারে।

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