গিট: এক্স শাট করে আপনার শাখা এগিয়ে রয়েছে


379

এটি আসলে কীভাবে আসে?

আমি এই মুহুর্তে নিজেই একটি রেপোতে কাজ করছি, সুতরাং এটি আমার কর্মপ্রবাহ:

  1. ফাইল পরিবর্তন করুন
  2. সমর্পণ করা
  3. সন্তুষ্ট না হওয়া পর্যন্ত 1-2 পুনরাবৃত্তি করুন
  4. মাস্টার চাপুন

তারপরে যখন আমি একটি git statusকরি তা আমাকে বলে যে আমার শাখাটি এক্স কমিট দ্বারা এগিয়ে রয়েছে (সম্ভবত আমি যে কমিট করেছি তা সম্ভবত)। কারণ আপনি যখন কোডটি চাপছেন তখন এটি স্থানীয়ভাবে আপনার ক্যাশেড ফাইলগুলি (.git ফোল্ডারে) আপডেট করে না? git pullএই অদ্ভুত বার্তাটি 'ঠিক' করে দিয়েছে বলে মনে হচ্ছে, তবে আমি এখনও কৌতূহল বোধ করি কেন এটি ঘটে, সম্ভবত আমি গিটকে ভুল ব্যবহার করছি?


বার্তাটিতে কী শাখা ছাপা হয়েছে তা সহ

আমার স্থানীয় শাখা মাস্টার আগে

আপনি বর্তমান শাখাটি কোথায় চাপ / টানবেন?

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

এটি আসলে দূরবর্তী রেপো পরীক্ষা করে না

এটাই আমি ভেবেছিলাম, আমি বুঝতে পেরেছিলাম যে এটি সম্পর্কে আমার উপলব্ধিটি সঠিক কিনা তা নিশ্চিত করবো।

আপনি কি এটিতে কিছু অতিরিক্ত যুক্তি দিয়ে যাচ্ছেন?

আমি দেখতে পাচ্ছি এমনগুলি নয়, আমার শেষ দিকে কোনও মজার কনফিগারেশন চলছে?

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)

আপনি কীভাবে করছেন pushএবং আপনার দূরবর্তী এবং শাখা কনফিগারেশন সেটিংস কী কী?
সিবি বেইলি

2
এটি আসলে রিমোট রেপো পরীক্ষা করে না, ধাক্কা দেওয়ার পরে আপনাকে রিমোট রেপোতে সর্বশেষ তথ্য আনতে হবে, এটি স্থানীয় "রিমোট" শাখাকে আপডেট করবে যা এটি ট্র্যাক করতে ব্যবহার করে।
সেখাত

2
@ সেখাত: যদিও git statusরিমোট রিপোজিটরি পরীক্ষা করে না, git pullতা করে। আপনি যে ধরণের স্টোরটি ধরিয়ে দিচ্ছেন তার জন্য git pushযদি আপনার ট্র্যাকিং শাখা থাকে তবে আপনার ধাক্কা সফল হলে দূরবর্তী শাখার নতুন অবস্থাকে প্রতিফলিত করতে আপনার স্থানীয় ট্র্যাকিং শাখাকে আপডেট করবে। এই কারণেই আমি প্রশ্নকারীর কনফিগারেশন সম্পর্কে জিজ্ঞাসা করেছি কারণ এটি সঠিকভাবে না ঘটলে সম্ভবত একটি কনফিগারেশন ত্রুটি রয়েছে।
সিবি বেইলি

git status? সত্যি? আমার git statusশাখাটি কতটা এগিয়ে আছে তা আমাকে কখনই বলে না .. আপনি কি এতে কিছু অতিরিক্ত যুক্তি দিয়ে যাচ্ছেন?
হাসেন

4
@ হাসেন জে: git statusদূরবর্তী শাখাটি আপডেট করা হয়েছে কিনা তা পরীক্ষা করতে দূরবর্তী সংগ্রহস্থলে যান না। এটি আপনাকে জানায় যে আপনার স্থানীয় শাখাটি আপনার স্থানীয়ভাবে সঞ্চিত দূরবর্তী ট্র্যাকিং শাখার সাথে তুলনা করা । সমস্যাটি হ'ল কোনও স্বাভাবিক git push(পাশাপাশি আনতে এবং টানতে) দূরবর্তী ট্র্যাকিং শাখাটি আপডেট করা উচিত এবং জিজ্ঞাসাকারীদের জন্য এটি কাজ করছে বলে মনে হয় না। কেন git pushএটি ব্যবহার করা হচ্ছে তার সঠিক ফর্ম এবং স্থানীয় সংগ্রহস্থলের কনফিগারেশন উভয়ই কেন আমাদের দেখতে হবে তা জানতে তবে প্রশ্নকর্তা ইতিমধ্যে একটি উত্তর গ্রহণ করেছেন আমি এখন এটি ঘটতে দেখতে পাচ্ছি না।
সিবি বেইলি

উত্তর:


507

আপনি যদি একটি কাজ করার পর এই বার্তা পেতে পারেন git pull remote branch, এটা বজায় পর দিয়ে চেষ্টা git fetch। ( git fetch -pAllyচ্ছিকভাবে, রেপো থেকে মুছে ফেলা শাখা ছাঁটাই করতে চালানো )

আনতে দূরবর্তী শাখার স্থানীয় উপস্থাপনা আপডেট করা হবে বলে মনে হয়, যা আপনি যখন করবেন তখন অগত্যা ঘটে না git pull remote branch


1
সাবাস। আসলেই বিষয়টি ছিল। আমি গুগল কোডে একটি সংগ্রহশালা তৈরি করে শুরু করেছি। তারপরে আমি আমার ল্যাপটপে এই সংগ্রহস্থলটিকে ক্লোন করেছি এবং আমি সেখানে কাজ করি এবং পরিবর্তনগুলি, ল্যাপটপ => কোড.google ধাক্কা দিয়ে থাকি। আমি আমার সার্ভারে এই বার্তাটি পেয়েছিলাম যেখানে আমি কোড জিওএল কোড সংগ্রহস্থলের ক্লোন তৈরি করেছিলাম এবং আমি পরিবর্তনগুলি টানতে ব্যবহার করি। আমি মনে করি স্থানীয় ডাটাবেস আপডেট করার জন্য আনতে হবে।
rjha94

2
আমাদের এখানেও একই সমস্যা ছিল কারণ অন্য একটি শাখা (এ) মাস্টার একই কমিটির দিকে নির্দেশ করেছিল। এ-তে টানুন এবং তারপরে মাস্টারকে টেনে তোলার ফলে একই পরিস্থিতির সৃষ্টি হয়েছিল। যখন গিট এটিকে টেনেছিল, তখন কমিটিকে শেষের দিকে আপডেট করা হয়েছিল, সুতরাং মাস্টারকে টেনে তোলার আসলে টানানোর কিছুই নেই, সুতরাং গিট মাস্টার লাস্ট কমিটকে আপডেট করেনি এবং "মাস্টারের সামনে" থাকার বিষয়ে সতর্ক করেছিল।
উবার্তো

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

2
@Parag দেখতে stackoverflow.com/questions/26350876/... ঐ দুই কমান্ড মধ্যে পার্থক্য একটি ব্যাখ্যা জন্য, এবং কিভাবে সম্ভবত আচরণ পরিবর্তন করার জন্য, যাতে Git আনা দূরবর্তী শাখা আপডেট দূরবর্তী-ট্র্যাকিং-শাখা সুত্র কনফিগ ফাইল পরিবর্তন করতে, তাই git_status 'সামনের দিকে' রিপোর্ট করে না।
অ্যানাটার্টয়েজ হাউস

2
@Parag, এছাড়াও stackoverflow.com/questions/7365415/... উত্তর ORIG_HEAD এবং FETCH_HEAD সিঙ্কের বাইরে যাচ্ছে, অবস্থা সতর্কবার্তা, এবং সম্ভব কনফিগ ফাইল সংশোধন ঘটাচ্ছে বিবরণ আলোচনা করা হয়েছে।
অ্যানাটোরাইজ হাউস

138

ব্যবহার

git pull --rebase

--Rebase বিকল্পটির অর্থ হ'ল গিটটি আপনার স্থানীয় কমিটকে একপাশে সরিয়ে নিয়ে যাবে, রিমোটের সাথে সংলাপ করে এবং তারপরে নতুন রাজ্য থেকে আপনার কমিটগুলি প্রয়োগ করার চেষ্টা করবে।


3
অকেজো মেশাগুলি প্রতিরোধ করার একটি দুর্দান্ত উপায় এবং মূলত একটি ক্লিনার ট্রি রয়েছে!
হেটেফ

1
আমি এই আদেশটি চেষ্টা করেছি, তবে আমার এখনও একই সমস্যা রয়েছে ...$ git pull --rebase Current branch xyz is up to date. $ git status On branch xyz Your branch is ahead of 'origin/xyz' by 6 commits. (use "git push" to publish your local commits) nothing to commit, working tree clean
বিবিএইচ

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

80

এই 3 সহজ কমান্ড ব্যবহার করুন

পদক্ষেপ 1 :git checkout <branch_name>

পদক্ষেপ 2 :git pull -s recursive -X theirs

পদক্ষেপ 3 :git reset --hard origin/<branch_name>

আরও বিশদ: https://stackoverflow.com/a/39698570/2439715

উপভোগ করুন।


3
এটিই হ'ল একমাত্র উত্তর যা আসলে আমার জন্য সমস্যাটি স্থির করেছিল। উপরের কমান্ডগুলি আশ্চর্যজনকভাবে এটিকে 12 থেকে 7 টি কমিট পর্যন্ত নামিয়ে দিয়েছে এবং এটি শেষ পর্যন্ত তা সরিয়ে ফেলেছে
Ieuan

1
আমি একমাত্র এটিই আমার পক্ষে কাজ করে যাওয়ায় সম্মত হন। আমি নিশ্চিত যে মাঝে মাঝে জিআইটির একাধিক ব্যক্তিত্বের ব্যাধি রয়েছে।
27:২

11
@ লেয়ান এর মত, git reset --hard origin/masterআমার পক্ষে এটি পরিষ্কার করা ছাড়া আর কিছুই নয় ।
ডেভ ল্যান্ড

এখানেও একই, এটি আমার জন্য কাজ করা একমাত্র পদক্ষেপ
শারদ_এমডাব্লু

51

আমার মনে হয় আপনি বার্তা অশুদ্ধ পাঠ করছি - আপনার শাখার এগিয়ে নয় master, এটা হল master । এটা তোলে এগিয়ে আছে origin/master, যা একটি হল দূরবর্তী ট্র্যাকিং শাখা যে আপনার শেষ থেকে দূরবর্তী সংগ্রহস্থল অবস্থা রেকর্ড push, pullবা fetch। এটি আপনাকে বলছে যে আপনি কী করেছেন; আপনি দূরবর্তী থেকে এগিয়ে গিয়েছিলেন এবং এটি আপনাকে ধাক্কা দেওয়ার জন্য মনে করিয়ে দিচ্ছে।


22
এটা আসলে আমি ধাক্কা পরে। এই বার্তাটি না পাওয়ার জন্য আমাকে টানতে হয়েছিল (বা সম্ভবত আনতে হবে?)
সানজেএ

26

কেউ বলেছেন যে আপনি হয়ত আপনার বার্তাটি ভুলভাবে পড়ছেন, আপনি নন। এই সমস্যাটি আসলে আপনার <project>/.git/configফাইলের সাথে সম্পর্কিত। এটিতে এর অনুরূপ একটি বিভাগ থাকবে:

[remote "origin"]
    url = <url>
    fetch = +refs/heads/*:refs/remotes/origin/*

আপনি যদি আপনার প্রকল্পের .git / কনফিগারেশন ফাইল থেকে আনার লাইনটি সরিয়ে থাকেন তবে আপনি "আপনার শাখা Nকমিট দ্বারা 'উত্স / মাস্টার' এর আগে । বিরক্তি থেকে ঘটছে।

বা তাই আমি আশা করি। :)


আমি ahead by x commitsবার্তাটি দেখতে পরের বার তা পরীক্ষা করব shall আমি কিছুক্ষণের মধ্যে ম্যাসেজটি দেখিনি।
SeanJA

আমি কিছুক্ষণের মধ্যে ম্যাসেজটি দেখিনি। আমি মনে করি এটি কারণেই আমি স্থানীয়ভাবে গিট রেপো তৈরি করা শুরু করেছি, তারপরে এটিকে অন্য পথের পরিবর্তে একটি দূরবর্তী
রেপোতে চাপিয়ে দিয়েছি

আমি এটি চেষ্টা করেছিলাম, কিন্তু আমি যখন প্রতিশ্রুতি দেওয়ার চেষ্টা করেছি তখন এটি গ্রহের গ্রহের ইজিটটিকে "অভ্যন্তরীণ ত্রুটি" দিয়ে পপ করতে শুরু করে। যদিও গিট নিজেই ভাল কাজ করেছে বলে মনে হয়েছিল।
ব্যবহারকারী 4815162342

18
এই লাইনটি কি করে? এবং এটি সরিয়ে আমি কী মিস করছি? (বিরক্তি বাদে)
জন মে

1
এটি কাজ করেছে, তবে এটি ত্রুটিটি দমন করার মতো। ফিরে লাইন যুক্ত করুন এবং আপনি আবার সতর্কতা পেতে শুরু করবে।
কৃষ্ণ পান্ডে 10

15

আমার স্টেজ সার্ভারে আমার এই সমস্যাটি ছিল যেখানে আমি কেবল টানতে পারি। এবং হার্ড রিসেট আমাকে রিমোটের মতোই হেড পরিষ্কার করতে সহায়তা করেছিল।

git reset --hard origin/master

সুতরাং এখন আমি আবার আছে:

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

আমি প্রথম --হার্ড পতাকা ছাড়া চেষ্টা করেছি এবং এটি কার্যকর!
kroiz

12

এটি আমার পক্ষে কাজ করেছে

git reset --hard origin/master

আউটপুট অবশ্যই দেখতে হবে

On branch dev HEAD is now at ae1xc41z Last commit message


11

আমার ক্ষেত্রে এটি ছিল কারণ আমি মাস্টার ব্যবহার করে স্যুইচ করেছি

 git checkout -B master

পরিবর্তে এটির নতুন সংস্করণটি টানতে

 git checkout master

প্রথম কমান্ডটি আমার সর্বশেষ প্রতিশ্রুতিগুলির সাথে প্রধানের প্রধানকে পুনরায় সেট করে

আমি ব্যবহার করতাম

git reset --hard origin/master

এটি ঠিক করতে


9

আমি এই পৃষ্ঠার প্রতিটি সমাধান পেরিয়েছি এবং ভাগ্যক্রমে @ আনাতোলি-পাজিন মন্তব্য করেছেন কারণ তার সমাধানটিই কাজ করেছিল। দুর্ভাগ্যক্রমে আমি তাকে উত্সাহ দেওয়ার মতো যথেষ্ট খ্যাতি নেই , তবে আমি প্রথমে তার সমাধানটি চেষ্টা করার পরামর্শ দিচ্ছি:

git reset --hard origin/master

যা আমাকে দিয়েছে:

HEAD is now at 900000b Comment from my last git commit here

আমি এছাড়াও সুপারিশ:

git rev-list origin..HEAD
# to see if the local repository is ahead, push needed

git rev-list HEAD..origin
# to see if the local repository is behind, pull needed

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

git rev-list --count --left-right origin/master...HEAD
# if you have numbers for both, then the two repositories have diverged

শুভকামনা করছি


4

উইন্ডোজ মেশিনে আমার একই সমস্যা ছিল। যখন আমি একটি git pull origin masterকমান্ড চালাতাম, আমি "কমিট দ্বারা" উত্সাহ / মাস্টার "এর আগে" সতর্কতাটি পেয়ে যাব। আমি দেখতে পেলাম যে আমি পরিবর্তে দৌড়ে গিয়ে git pull originশাখাটি নির্দিষ্ট না করে থাকলে আমি আর সতর্কতাটি গ্রহণ করব না।


আমি বিশ্বাস করি এটি কার্যকরভাবে git fetchপর্দার আড়ালে রয়েছে।
ব্রায়ান পিটারসন

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

2

এটি আপনাকে বর্তমান শাখা এবং শাখার মধ্যে পার্থক্যগুলি স্মরণ করিয়ে দেয় যা বর্তমান ট্র্যাকটি করে। বার্তায় কোন শাখাটি মুদ্রিত এবং আপনি বর্তমান শাখাটি কোথায় ধাক্কা / টানবেন তা সহ দয়া করে আরও তথ্য সরবরাহ করুন।


2

যদিও এই প্রশ্নটি কিছুটা পুরানো ... আমি একই পরিস্থিতিতে ছিলাম এবং এখানে আমার উত্তর আমাকে আমার অনুরূপ সমস্যা সমাধান করতে সহায়তা করেছিল

প্রথমে চেষ্টা করুন push -fবা জোর করে বিকল্পটি

যদি এটি কাজ না করে তবে এটি সম্ভব যে (আমার ক্ষেত্রে যেমন) দূরবর্তী সংগ্রহস্থলগুলি (বা বরং প্রদর্শিত দূরবর্তী সংগ্রহস্থলের উল্লেখগুলি git remote -v) সম্ভবত আপডেট হচ্ছে না।

উপরের দিক থেকে আপনার ধাক্কা আপনার স্থানীয় / শাখাটিকে আপনার রিমোট / শাখার সাথে সিঙ্ক করেছে তবে আপনার স্থানীয় রেপোতে ক্যাশে এখনও পূর্বের প্রতিশ্রুতি দেখায় (স্থানীয় / শাখার ... কেবলমাত্র একক প্রতিশ্রুতি দেওয়া হয়েছিল) হেড হিসাবে।

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

সমাধান:

$ git remote -v
github  git@github.com:schacon/hw.git (fetch)
github  git@github.com:schacon/hw.git (push)
$ git remote add origin git://github.com/pjhyett/hw.git
$ git remote -v
github  git@github.com:schacon/hw.git (fetch)
github  git@github.com:schacon/hw.git (push)
origin  git://github.com/pjhyett/hw.git (fetch)
origin  git://github.com/pjhyett/hw.git (push)
$ git remote rm origin
$ git remote -v
github  git@github.com:schacon/hw.git (fetch)
github  git@github.com:schacon/hw.git (push)

এখন একটি push -f নিম্নলিখিত হিসাবে

git push -f github master ### আপনার কমান্ডের নোট নেই origin আর নেই!

একটি কি git pullএখন git pull github master

উপর git statusগ্রহণ

# On branch master

nothing to commit (working directory clean)

আমি আশা করি কারও পক্ষে এটি দরকারী কারণ দর্শনের সংখ্যা এত বেশি যে এই ত্রুটিটি অনুসন্ধান করা প্রায়শই সর্বদা শীর্ষে এই থ্রেডটিকে তালিকাভুক্ত করে

এছাড়াও পড়ুন gitref বিস্তারিত জানার জন্য


2

আমি যখন টর্টিসজিআইটি-র সাথে একটি স্যুইচ / চেকআউট করছিলাম তখন আসলে এটি হয়েছিল।

আমার সমস্যাটি ছিল আমি অন্য একটি স্থানীয় শাখার উপর ভিত্তি করে শাখাটি তৈরি করেছিলাম। এটি "মার্জ" এন্ট্রি তৈরি করেছে /.git/configযা দেখতে এরকম কিছু দেখাচ্ছে:

[branch "web"]
    merge = refs/heads/develop
    remote = gitserver

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

যেমনটি বিক্রম বলেছিলেন, এই সমস্যার সন্ধান করার সময় এই স্ট্যাক ওভারফ্লো থ্রেডটি গুগলের শীর্ষ ফলাফল, তাই আমি ভেবেছিলাম যে আমি আমার পরিস্থিতি এবং সমাধানটি ভাগ করব।


2

আমি উপরের @ মারিয়ান জুবুরিয়া দ্বারা উল্লিখিত একই কথা পুনরায় বলতে চাই। এটি আমার পক্ষে কাজ করেছিল এবং অন্যকেও এটির পরামর্শ দেয়।

git pull origin develop

অনুসরণ করা উচিত $ git pull --rebase

এটি $ git statusসর্বশেষতম টানার পরে আসা মন্তব্যগুলিকে সরিয়ে দেবে ।


2

git fetch এটি আপনার জন্য সমাধান করবে

যদি আমার বোঝাপড়াটি সঠিক হয়, আপনার স্থানীয় (ক্যাশেড) পুরানো origin/master। এই কমান্ডটি সার্ভার থেকে সংগ্রহস্থল স্থিতি আপডেট করবে।


1
দয়া করে কিছু বিবরণ যুক্ত করুন
ম্যাথিউস সানি

2

তারপরে আমি যখন গিট স্ট্যাটাস করি তখন এটি আমাকে বলে যে আমার শাখাটি এক্স কমিট দ্বারা এগিয়ে রয়েছে (সম্ভবত আমি যে কমিট করেছি তা সম্ভবত )।

আমার অভিজ্ঞতা অনেক শাখা সহ একটি দলের পরিবেশে। আমরা আমাদের নিজস্ব বৈশিষ্ট্য শাখাগুলিতে (স্থানীয় ক্লোনগুলিতে) কাজ করি এবং এটি git statusআমার 11 টির আগেই কমিট ছিল বলে প্রমাণিত হয়েছিল one আমার কাজ ধৃষ্টতা, প্রশ্ন লেখক মত, যে +11 থেকে ছিল আমার নিজের করে

দেখা গেল যে আমি developবহু সপ্তাহ আগে প্রচলিত শাখা থেকে আমার বৈশিষ্ট্য শাখায় পরিবর্তন এনেছি - তবে ভুলে গেছি! আমি যখন আজ আমার স্থানীয় বৈশিষ্ট্য শাখায় পুনর্বিবেচনা করেছি এবং একটি git pull origin developনম্বর এগিয়ে এসেছিলাম +১৪ তে এগিয়ে এসে কমিট করে। অনেক কাজ করা হয়ে গেছে developএবং তাই আমার স্থানীয় বৈশিষ্ট্য শাখাটি এর উপরের বৈশিষ্ট্য শাখার চেয়ে আরও এগিয়ে ছিলorigin রিপোজিটরিতে ।

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


1

উত্তরগুলি যা প্রস্তাব দেয় git pullবা git fetchসঠিক।
বার্তাটি উত্পন্ন হয় যখন এবং এর git statusমধ্যে পার্থক্য দেখায় eg.git/FETCH_HEAD.git/refs/remotes/<repository>/<branch>.git/refs/remotes/origin/master ) এর ।

পরবর্তী ফাইলটি শেষ সংগ্রহ থেকে সংগ্রহস্থল (ভান্ডার / শাখার জন্য) রেকর্ড করে। এরকম git fetchশাখা বর্তমান মাথা থেকে আপডেট উভয় ফাইল।
অবশ্যই যদি আনার মতো কিছু না থাকে (কারণ স্থানীয় সংগ্রহস্থল ইতিমধ্যে আপ টু ডেট রয়েছে) তবে .git/FETCH_HEADপরিবর্তন হয় না।


এটি আমার জন্য ক্ষেত্রে হবে বলে মনে হয় না: .git/FETCH_HEADধারণ করে 9f7336c873ccffc772168bf49807e23ff74014d3 branch 'master' of URLএবং .git/refs/remotes/origin/masterধারণ করে 9f7336c873ccffc772168bf49807e23ff74014d3, এখনো আমি এখনও বার্তা এবং কেউই git pullনা git fetchএটা সমাধান
Davide

0

আপনি যদি এই বার্তাটি শাখায় ফাইল আনট্র্যাক করার জন্য প্রতিশ্রুতিবদ্ধতার পরে পেয়ে থাকেন তবে যে কোনও ফাইলে কিছু পরিবর্তন করার চেষ্টা করুন এবং প্রতিশ্রুতিবদ্ধ করুন। স্পষ্টতই আপনি একক প্রতিশ্রুতিবদ্ধ করতে পারবেন না যার মধ্যে কেবল পূর্ববর্তী ট্র্যাক করা ফাইলটি অন্রে্যাক করা includes পরিশেষে এই পোস্টটি আমাকে পুরো সমস্যা সমাধানে সহায়তা করেছে https://help.github.com/articles/removing-files-from-a-repository-s-history/ । আমাকে কেবল সংগ্রহস্থলের ইতিহাস থেকে ফাইলটি সরিয়ে ফেলতে হয়েছিল।

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