আপনি একটি গিট সুরক্ষা বৈশিষ্ট্যটি দেখছেন। গিট আপনার শাখার সাথে রিমোট শাখা আপডেট করতে অস্বীকার করেছে, কারণ আপনার শাখার প্রধান অঙ্গীকার যে শাখায় আপনি চাপ দিচ্ছেন তার বর্তমান প্রধান প্রতিশ্রুতির সরাসরি বংশধর নয়।
যদি এটি না হয়, তবে একই সময়ে প্রায় একই সময়ে একই সংগ্রহস্থলের দিকে এগিয়ে যাওয়ার জন্য দু'জন লোক জানতে পারে না যে একই সময়ে একটি নতুন প্রতিশ্রুতি আসছিল এবং যে কেউ শেষের দিকে চাপ দেয় তারা কোনওটি ছাড়াই পূর্বের পুশারের কাজটি হারাবে তারা এই উপলব্ধি।
আপনি যদি জানেন যে আপনিই একমাত্র ব্যক্তি চাপ দিচ্ছেন এবং আপনি একটি সংশোধিত প্রতিশ্রুতি বা ধাক্কা দিতে চান যা শাখাটি ফিরিয়ে দেয়, আপনি গিটকে -fস্যুইচটি ব্যবহার করে দূরবর্তী শাখাটি আপডেট করতে বাধ্য করতে পারেন।
git push -f origin master
এমনকি এটি কাজ করতে পারে না কারণ গিটটি দূরবর্তী সংগ্রহস্থলগুলিকে কনফিগারেশন ভেরিয়েবলটি ব্যবহার করে দূর প্রান্তে নন-ফাস্টফোরওয়ার্ড পুশগুলি অস্বীকার করতে দেয় receive.denynonfastforwards। যদি এটি হয় তবে প্রত্যাখ্যান কারণটি দেখতে এরকম দেখাবে ('দূরবর্তী প্রত্যাখ্যানিত' অংশটি নোট করুন):
! [remote rejected] master -> master (non-fast forward)
এটি পেতে, আপনাকে হয় দূরবর্তী সংগ্রহস্থলের কনফিগারেশন পরিবর্তন করতে হবে বা একটি নোংরা হ্যাক হিসাবে আপনি শাখাটি মুছে ফেলা এবং পুনরায় তৈরি করতে পারেন:
git push origin :master
git push origin master
সাধারণত git pushফর্ম্যাটটি ব্যবহার করার জন্য সর্বশেষ পরামিতি <local_ref>:<remote_ref>, যেখানে local_refস্থানীয় সংগ্রহস্থলে remote_refশাখার নাম এবং দূরবর্তী সংগ্রহস্থলের শাখার নাম। এই কমান্ড জুটি দুটি শর্টহ্যান্ড ব্যবহার করে। :masterএকটি নাল লোকাল_রেফ রয়েছে যার অর্থ দূরবর্তী দিকে নাল শাখা masterটিপুন, অর্থাৎ দূরবর্তী শাখাটি মুছুন। কোনও শাখাবিহীন একটি শাখার নাম :স্থানীয় নামটি দেওয়া নামটির সাথে একই নামে প্রত্যন্ত শাখায় চাপ দিন। masterএই পরিস্থিতিতে জন্য সংক্ষিপ্ত master:master।