ওয়ার্কিং ডিরেক্টরিতে স্ট্যাশ প্রয়োগ করা যাবে না কেন?


96

আমি কার্যকারী ডিরেক্টরিতে আবার স্ট্যাশ প্রয়োগ করতে পারি না।

ছোট গল্প:

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

এটি ত্রুটি:

MyPath/File.cs already exists, no checkout
Could not restore untracked files from stash

নিশ্চিত যে আমি এখনও গিটের সমস্ত ধারণা বুঝতে পারি না, তারা আমাকে কিছুটা বিভ্রান্ত করে ... সম্ভবত আমি কিছু ভুল করেছি।

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

সাহায্য অনেক প্রশংসা করা হয়। ধন্যবাদ!

উত্তর:


75

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

ঠিক করার জন্য, আপনি সেই ফাইলটি মুছে ফেলার মতো কিছু করতে পারেন (এটি ঠিক আছে, এটি এখনও রেপোতে রয়েছে), আপনার স্ট্যাশ প্রয়োগ করে এবং তারপরে ফাইলের স্ট্যাশড সংস্করণটি যথাযথ হিসাবে প্রতিস্থাপন করে।

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

  1. অন্য কোথাও এটি সরান
  2. স্ট্যাশ প্রয়োগ করুন
  3. দুটি ফাইল সংস্করণ ম্যানুয়ালি একত্রীকরণ করুন (কার্যক্ষম গাছ বনাম সরানো হয়েছে)।

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

4
@Miguel: Stashing হয় না একটি বাধা। এটি গিট দ্বারা সরবরাহিত একটি অতিরিক্ত সরঞ্জাম যা আপনাকে আপনার কর্মপ্রবাহের উন্নতি করতে এবং দ্বন্দ্ব এবং অশুচি প্রতিরোধগুলি এড়াতে দেয়। git-scm.com/docs/git-stash
Koraktor

8
উত্তরটি বৈধ থাকাকালীন, আমি নিশ্চিত নই যে এই বিষয়ে গিটটি "সঠিক" আছে। ফাইলগুলি রেপোতে রয়েছে, সুতরাং ডেটা হ্রাস হওয়ার কোনও আশঙ্কা নেই। কেন শুধু পরিবর্তনগুলি প্রয়োগ করবেন না? এই থ্রেডটি দেখুন - git.661346.n2.nabble.com/stash-refuses-to-pop-td7453780.html
স্টুডিজ

4
আমি মনে করি এই উত্তরটি সবচেয়ে সহায়ক নয়। git stashস্থানীয় পরিবর্তনগুলি দ্রুত ব্যাকআপ করতে সহায়তা করা উচিত। পুনরুদ্ধার করতে ফাইলের সেটটিকে ম্যানুয়ালি মুছে ফেলা প্রবাহকে ভেঙে দেয়। git stash branchঅন্যান্য উত্তরে পদ্ধতির ভাল শোনাচ্ছে, কিন্তু এখনও অনেক বেশি ম্যানুয়াল পছন্দসই নয়।
বেন্টোলার

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

59

সবচেয়ে নিরাপদ এবং সহজ উপায় সম্ভবত জিনিস আবার stashing হবে:

git stash -u             # This will stash everything, including unstaged files
git stash pop stash@{1}  # This will apply your original stash

পরে আপনি যদি ফলাফলটি নিয়ে খুশি হন তবে আপনি কল করতে পারেন

git stash drop

আপনার "নিরাপদ" স্ট্যাশ অপসারণ করতে।


4
এর জন্য আপনাকে ধন্যবাদ, প্রচুর ব্যথা এবং যন্ত্রণা থেকে আমাকে বাঁচিয়েছি!
দানজারভিস

9
স্ট্যাশ পপ প্রয়োগ করা হবে এবং আপনার মূল স্ট্যাশ ছাড়বে। applyপরিবর্তে নিরাপদ ব্যবহার হতে pop
হিলব্র্যান্ড বোউক্যাম্প

4
আসলে এবং এর popসংমিশ্রণ , তবে কেবল তখনই যদি বিরোধগুলি ছাড়া কাজ করা হয়। তবে হ্যাঁ, সাধারণত নিরাপদ। applydropdropapplyapply
Koraktor

4
এটি ধরে নিয়েছে যে ওয়ার্কিং ডিরেক্টরিতে আপনি রাখতে চান তাতে অন্য কোনও পরিবর্তন নেই। এই নির্দিষ্ট প্রশ্নের জন্য তিনি বোঝাচ্ছেন (তবে স্পষ্ট করে বলেন না) তিনি পরিষ্কার অবস্থায় আছেন, তবে আমি এখানে উল্লেখ করতে চাই যে অন্যরা এখানে স্থানীয় পরিবর্তন নিয়ে আসছেন।
স্টুডিক

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

57

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

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

স্ট্যাশকে একটি শাখায় রূপান্তর করা

নিম্নলিখিত যখন স্ট্যাশ তৈরি হয়েছিল তখন হেডের উপর ভিত্তি করে একটি শাখা তৈরি করে এবং তারপর স্ট্যাশ প্রয়োগ করে (এটি এটি প্রতিশ্রুতি দেয় না)।

git stash branch STASHBRANCH

"স্ট্যাশ শাখা" নিয়ে কাজ করা

আপনি এখন যা করবেন তা স্ট্যাশ এবং কোথায় আপনার টার্গেট শাখা (যা আমি ORIGINALBRANCH বলব) এর মধ্যে সম্পর্কের উপর নির্ভর করে।

বিকল্প 1 - স্ট্যাশ শাখাটি সাধারণত রিবেস করুন (স্ট্যাশ করার পরে প্রচুর পরিবর্তন হয়)

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

বিকল্প 2 - স্ট্যাশগুলির সাথে ম্যাচ করার জন্য মূল শাখাটি পুনরায় সেট করুন (স্ট্যাশ থেকে সীমিত পরিবর্তন)

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

git symbolic-ref HEAD refs/heads/ORIGINALBRANCH
git reset

পটভূমি

স্ট্যাশগুলি হ'ল কমিটগুলি শাখা / ট্যাগ পছন্দ করে (প্যাচ নয়)

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

আপনি যখন কাজের ডিরেক্টরি পরিবর্তন না করে তখনও কখনও কখনও প্রয়োজন

পিপিএস, আপনার কেবলমাত্র প্যাচ এবং / অথবা - - অন্তর্ভুক্ত-ট্র্যাক ছাড়াই স্ট্যাশ ব্যবহার করার পরে এই কৌশলটির প্রয়োজন হতে পারে। এমনকি কার্যকরী ডিরেক্টরিগুলি পরিবর্তন না করেও এই বিকল্পগুলি কখনও কখনও স্ট্যাশ তৈরি করতে পারে আপনি কেবল ফিরে আবেদন করতে পারবেন না। আমি অবশ্যই পুরোপুরি বুঝতে পারছি না তা স্বীকার করতে হবে। কিছু আলোচনার জন্য http://git.661313.n2.nabble.com/stash-refuses-to-pop-td7453780.html দেখুন ।


4
এই উত্তরটিকে সমাধান হিসাবে চিহ্নিত করা উচিত কারণ এটি কীভাবে 'লক করা স্ট্যাশ' সবচেয়ে কার্যকরভাবে সমাধান করতে পারে তার পক্ষে সবচেয়ে সহায়ক পয়েন্টার। সম্ভবত প্রথমে 'সাধারণ মুছুন সমাধান' এবং শাখা সমাধানটিকে দ্বিতীয় বিকল্প হিসাবে উল্লেখ করে এটি উন্নত করুন।
বেন্টোলার

8
"গিট স্ট্যাশ শাখা স্ট্যাশব্র্যাঞ্চ" কাজ করছে বলে মনে হচ্ছে না যদি আপনি এই দৃশ্যের মুখোমুখি হন (ঠিক একই ত্রুটির বার্তাটি পপ সহ ঘটে) আপনাকে আগে কিছু গিট রিসেট করতে হতে পারে।

+1 আমি কমিটস এবং পরিবর্তন এবং স্ট্যাশিং ইত্যাদি ইত্যাদির সাথে নিজেকে একটি স্প্যাগেটি জগতে পেয়েছিলাম Thisএই স্ট্যাশকে একটি শাখায় পপ করে আমাকে তা থেকে
মুক্তি

স্ট্যাশগুলি কীভাবে প্যাচ হয় না এবং কীভাবে তারা হেডের সাথে আবদ্ধ থাকে (স্ট্যাশ দেওয়ার সময়) সে সম্পর্কে স্পষ্টতার জন্য ধন্যবাদ। ওটা অনেক কিছু প্রকাশ করে. - সুতরাং ... আমি মনে করি যে এমন কিছু ক্ষেত্রে রয়েছে যেখানে স্ট্যাশের পরিবর্তে প্যাচ তৈরি করা আরও নমনীয় / পোর্টেবল / সুবিধাজনক (যেমন আপনি উল্লেখ করেছেন: অনেক পরিবর্তন হওয়ার পরে), যাতে এটি যে কোনও জায়গায় প্রয়োগ করা যায় (এবং এটি দ্বন্দ্ব সমাধানের বিষয়টি মাত্র)। সম্ভবত git stash show -pসেখানে স্ট্যাশ তৈরি করতে সহায়তা করছে -> * প্যাচ *।
কামাফেদার

39

সমাধান: আপনাকে প্রশ্নে ফাইলটি মুছতে হবে, তারপরে পুনরায় পপ / প্রয়োগের চেষ্টা করতে হবে এবং এটির মধ্য দিয়ে যাওয়া উচিত। অন্য ফাইলগুলি মুছবেন না, কেবল ত্রুটি দ্বারা উল্লিখিত ফাইলগুলি।

সমস্যা: গিট কখনও কখনও চুষে পায়। চলমান অবস্থায় git stash -uএটিতে অচিহ্নযুক্ত ফাইলগুলি (দুর্দান্ত!) অন্তর্ভুক্ত রয়েছে তবে এটি সেই অপ্রেট ফাইলগুলি অপসারণ করে না এবং কীভাবে স্ট্যাশড আনট্র্যাকড ফাইলগুলি বাম অংশের উপরে প্রয়োগ করতে হয় তা (ঠান্ডা নয়!) জানে না , যা -uবিকল্পটিকে সত্যই অব্যর্থ করে তোলে ।


4
আমি যদি এই প্রশ্নটি করি তবে আমি এই উত্তরটি গ্রহণ করতাম। ধন্যবাদ @ কোয়ার্তজগুয়ে, আপনার উত্তরটি আমার সমস্যার সমাধান করেছে
কোবাস মাইবার্গ

আমি নিজেই একই ইস্যুতে ছড়িয়ে পড়েছি, যতক্ষণ না আমি প্রশ্নে থাকা ফাইলগুলি মুছে ফেলছি ততক্ষণ গিট স্ট্যাশ পপ প্রযোজ্য হবে না - তারপরে আমি কোনও ফাইলের সাথে দ্বন্দ্বের মধ্যে পড়েছিলাম যার কারণে স্ট্যাশ প্রত্যাখ্যানিত হয়েছিল। তবে তারপরেই অনিবন্ধিত ফাইলগুলি মুছে ফেলা এটি তাদের পিছনে ফেলে রেখেছিল .. সুতরাং ভবিষ্যতের স্ব-স্ব থেকে দূরে থাকুনgit stash -u
নটপ্লেপি

আপনার যদি প্রভাবিত ফাইলের উভয় সংস্করণ থেকে কিছু অংশ প্রয়োজন হয় তবে খারাপ পরামর্শ।
ওয়ালফ

4
"এটি সেই তালিকৃত ফাইলগুলি অপসারণ করে না" ... এবং সেগুলিতে তালিকাভুক্ত করে না git stash show। এই উত্তরটি লাইটবুলবকে এগিয়ে যেতে লাগল।
jscs

4
গিটের জন্য প্লাস ওয়ান কখনও কখনও দুধ পান করে।
হরিশ

29

পরিবর্তে প্যাচ হিসাবে স্ট্যাশে কোড পার্থক্য প্রয়োগ করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

git stash show --patch | patch -p1

11
সাধারণত বেনাম কোডের কয়েকটি সারি পোস্ট করার পরিবর্তে কোনও সমাধান ব্যাখ্যা করা ভাল। আপনি কীভাবে আমি একটি ভাল উত্তর লিখতে পারি এবং পুরোপুরি কোড ভিত্তিক উত্তরগুলিও ব্যাখ্যা করতে পারি
ম্যাসিমিলিয়ানো ক্রাউস

আমার পক্ষে এই কাজটি git stash show --patchহ'ল প্যাচের মধ্যে পাতাগুলিতে কলবিহীন ফাইল নেই।
স্টিভেন শ

এই উত্তরটি আমাকে অনেক সাহায্য করেছিল যেহেতু স্ট্যাশ ঠেকানোর পরে আমার রেপোতে প্রচুর পরিবর্তনের কারণে আমি আমার স্ট্যাশ পপ করতে পারিনি।
এরিক ফিনম্যান

1

এটি আমার কাছে বহুবার ঘটেছিল, আমি অনতিযুক্ত ফাইলগুলি স্ট্যাশ করি git stash -uযার সাহায্যে রেপোতে যুক্ত হয়ে যায় এবং আমি স্ট্যাশড পরিবর্তনগুলি আর প্রয়োগ করতে পারি না।

আমি git stash pop/applyফাইলগুলি প্রতিস্থাপনের জন্য বলার উপায় খুঁজে পেলাম না , তাই প্রথমে স্ট্র্যাশযুক্ত অপ্রকাশিত ফাইলগুলির স্থানীয় অনুলিপিগুলি সরিয়ে ফেলি ( সতর্কতা অবলম্বন করুন এটি কোনও প্রতিশ্রুতিবদ্ধ না যে কোনও পরিবর্তন মুছে ফেলবে ) এবং তারপরে স্ট্যাশড পরিবর্তনগুলি প্রয়োগ করে :

rm `git ls-tree -r stash@{0}^3 --name-only`
git stash apply

অবশেষে, আমি ব্যবহার git status, git diffএবং অন্যান্য সরঞ্জাম চেক করুন এবং সেখানে কিছু অনুপস্থিত যদি সরানো ফাইল থেকে অংশ আবার যোগ করতে।


আপনি যদি রাখতে চান যে আপমুক্ত পরিবর্তনগুলি রয়েছে, আপনি প্রথমে একটি অস্থায়ী প্রতিশ্রুতি তৈরি করতে পারেন:

git add --all
git commit -m "dummy"
rm `git ls-tree -r stash@{0}^3 --name-only`
git stash apply

পূর্বে প্রতিশ্রুতিবদ্ধ পরিবর্তনগুলি স্থানীয় ফাইলগুলিতে ফিরে একত্রীকরণ করতে আপনার যে উপযুক্ত সরঞ্জামগুলি স্যুট করুন তা ব্যবহার করুন এবং ডামি কমিট সরিয়ে ফেলুন:

git reset HEAD~1

0

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

বিশদ: আমি ব্যবহার করেছিলাম git stash save -a, মূল আচরণটি সংকলন করতে ও দেখার জন্য মাস্টারকে পরীক্ষা করে দেখেছিলাম , তারপরে সম্পাদনা চালিয়ে যাওয়ার জন্য এগুলি সমস্ত ফিরিয়ে দেওয়ার চেষ্টা করেছি। আমি যখন আমার শাখাটি পরীক্ষা করে দেখেছি এবং পপ করার চেষ্টা করেছি, তখন আমার উপেক্ষা করা ফাইলগুলি স্ট্যাশ সেভের আগে থেকেই ছিল। কারণ মাস্টারের চেকআউটটি কেবল প্রতিশ্রুতিবদ্ধ ফাইলগুলিকেই প্রভাবিত করেছে - এটি উপেক্ষা করা ফাইলগুলি মুছেনি। সুতরাং পপ ব্যর্থ হয়েছিল, মূলত বলেছিল যে এটি এখনও থাকা ফাইলগুলির উপরে আমার স্ট্যাশড উপেক্ষা করা ফাইলগুলি পুনরুদ্ধার করতে চায় না। দুর্ভাগ্যজনক যে আমি তাদের সাথে একত্রীকরণের অধিবেশন শুরু করার উপায় খুঁজে বের করতে পারিনি।

শেষ পর্যন্ত, আমি git clean -f -d -xউপেক্ষা করা ফাইলগুলি সরিয়ে ফেলতাম। মজার বিষয় হল, আমার 30 ডলারের মধ্যে 4 টি ফাইল পরিষ্কার করার পরেও রয়ে গেছে (সাব-ডিরেক্টরিতে দাফন করা হয়েছে)। তারা কোন বিভাগে রয়েছে তা আমি নিজেই বের করতে হবে, সেগুলি ম্যানুয়ালি মুছে ফেলা হয়েছিল।

তারপরে আমার পপ সফল হয়েছিল।



-1

অন্যান্য সমাধান:

cd to/root/your/project

# Show what git will be remove
git clean -n

# If all is good
git clean -f

# If not all is good, see
git clean --help

# Finish
git stash pop

প্রশ্নের মধ্যে উল্লিখিত ত্রুটি স্ট্যাক এবং কার্যনির্বাহী ডিরেক্টরি উভয় উপস্থিত থাকা একটি ফাইলের কারণে ঘটে। এই ফাইলটি যদি ট্রেড না করে থাকে তবে কেবল সাফাই এটির সমাধান করে, যা অবশ্যই সবসময় হয় না (এবং ওপি-র ক্ষেত্রে নয়, যেহেতু তিনি একটি ফাইল টানতে পেরেছিলেন)।
জাভেয়ের পইনাস

-1

গীত 2.14.x / 2.15 (চতুর্থাংশ 3 2017) সঙ্গে, qwertzguy এর সমাধান 2014 থেকে আর প্রয়োজনীয় হবেন না।

Q3 2017 এর আগে, আপনাকে প্রশ্নযুক্ত ফাইলটি মুছতে হবে, তারপরে আবার পপ / স্ট্যাশ দেওয়ার চেষ্টা করুন try
পরবর্তী গিট রিলিজের সাথে, আপনাকে এটি করতে হবে না।

দেখুন bbffd87 কমিট (11 আগস্ট 2017) দ্বারা নিকোলাস মধ্যে Morey-Chaisemartin ( nmorey)
(দ্বারা একীভূত junio সি Hamano - gitster- মধ্যে কমিট 0ca2f32 , 23 আগস্ট 2017)

stash: রিসেটের আগে অচিহ্নযুক্ত ফাইলগুলি পরিষ্কার করুন

যদি git stash -uএমন কোনও রেপোকে কল করে যদি কোনও ফাইল উপস্থিত থাকে যা ফাইলটির বর্তমান পরিবর্তনের কারণে আর উপেক্ষা করা হয় না gitignore, তবে এই ফাইলটি স্ট্যাশ করা আছে তবে কার্যকারী গাছ থেকে সরিয়ে দেওয়া হচ্ছে না।
এটি git-stashপ্রথমে এমন কিছু করার কারণে reset --hardযা .gitignoreফাইল পরিবর্তন পরিষ্কার করে এবং তারপরে কল করেgit clean , ফাইলটি অচ্ছুত রেখে। ফাইলটি বিদ্যমান থাকার কারণে
এটি git stash popব্যর্থ হয়

এই প্যাচটি কেবল পরিষ্কার এবং পুনরায় সেট করার মধ্যে ক্রমটি স্যুইচ করে এবং এই ইউজকেসটির জন্য একটি পরীক্ষা যুক্ত করে।


-1

স্ট্যাশিং অনুসরণ করার সবচেয়ে নিরাপদ উপায়

গিট স্ট্যাশ-ইউ

এটি অনাস্থাবিহীন পরিবর্তন সহ সমস্তকে সংযুক্ত করা হবে

গিট স্ট্যাশ ড্রপ

আপনার "নিরাপদ" স্ট্যাশ অপসারণ করতে আপনি এটিতে কাজ করার পরে।


স্ট্যাকওভারফ্লো . com /a/ 23743125 / 6309 এ যেমন ব্যাখ্যা করা হয়েছে , এটি সবসময় গিট 2.14 বা তারও কমের সাথে কাজ করে না। : এটা গীত 2.15 সঙ্গে কাজ করবে stackoverflow.com/a/46027357/6309
VonC
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.