স্ট্যাশ @ {1} অস্পষ্ট?


122

আমি আমার স্ট্যাশ সম্পর্কে তথ্য জানার চেষ্টা করছি, কিন্তু গিট আমাকে তা বলছে stash@{0}এবং stash@{1}দ্বিধাগ্রস্ত। git stash listভাল কাজ করে এবং .git/logs/refs/stashমনে হয় উপযুক্ত সামগ্রী রয়েছে (এমন নয় যে আমি গিট ইন্টার্নালের বিশেষজ্ঞ on)

% git stash list
stash@{0}: On master: two
stash@{1}: On master: one
% git stash show stash@{1}
fatal: ambiguous argument 'stash@1': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions

ঠিক প্লেইন ঠিক git stash showকাজ করে। তাহলে যে নামগুলি git stash listআমাকে দ্ব্যর্থহীন বলে বিবেচিত হয় কেন ?


1
আমার ক্ষেত্রে, আমি একরকম নামের একটি শাখা দিয়ে শেষ করেছি stash, যা ত্রুটির কারণ হয়েছিল।
জাজ

এবং আমার ক্ষেত্রে আমার একটি রিমোট নাম ছিল stash, ত্রুটি ঘটায়!
রবার্ট মুয়েল

উত্তর:


231

আপনার শেলটি আপনার কোঁকড়ানো বন্ধনীগুলি খাচ্ছে, তাই আপনি বলার সময় stash@{1}, গিটটি দেখায় stash@1এবং এটি এর কোনও অর্থ দেয় না। আর্গুমেন্টের উদ্ধৃতি (ব্যবহার করুন git stash apply "stash@{1}"বা git stash apply stash@"{1}"উভয় উপায়ে উদ্ধৃতি কার্যকর হবে) বা আপনার শেলটি কেবল কোঁকড়ানো বন্ধনীগুলি প্রসারিত করতে পুনরায় কনফিগার করুন (zsh যে কোনও উপায়ে কনফিগার করা যায়, ব্যাশ কেবল কমা বা তাদের মধ্যে পরিসীমা সহ কোঁকড়া বন্ধনী প্রসারিত করে, অন্য শাঁস এক বা অন্যভাবে আচরণ করতে পারে)।


1
@ সিহে: বর্তমানে একটি ব্যবহার করা হচ্ছে না। উদ্ধৃত ত্রুটি বার্তাটি এটি বেশ স্পষ্টভাবে ইঙ্গিত করে (না, মনে হয় এটি বাশ হতে পারে না)।
জানু হুডেক

83
উইন্ডোজে, পাওয়ারশেল ব্র্যাকেটগুলিও খাবে। আপনি তাদের ব্যাকটিক দিয়ে এড়াতে পারবেন(git stash drop stash@`{1`})
জাভিয়ার পইনাস

8
ধন্যবাদ মাছের সাথে এটি ঘটেছিল, কী ঘটছিল তা নিশ্চিত ছিল না।
এলিজা লিন

3
@ সের্গে পাওয়ারশেলের জন্য স্ট্যাশ @ `{0`} (ব্যাকটিক্স) বা 'স্ট্যাশ @ {0}' (একক উদ্ধৃতি) ব্যবহার করুন।
হ্যান্স

4
ওহ আমার, এক বছর পরে এবং আমি আবার এটিতে ফিরে এসেছি কারণ আমার সমস্যা ছিল। আমি দেখি যে আমি এটি খুব কমই ব্যবহার করি। তারপরে আমি নিশ্চিত হয়ে উপরে উপরে একটি মন্তব্য রেখেছি, বলে এটি ফিশের সাথে ঘটে। খুবই হাস্যকর.
এলিজা লিন

23

হাই সেখানে আমার একই ঘটনা ঘটেছে। এটি ঠিক করার সহজতম উপায় ছিল:

$ git stash apply stash@"{2}"

আমি একটি উইন্ডোজ গিট শেল ব্যবহার করছি।


2
এছাড়াওgit stash apply "stash@{2}"
আরএসএনএন

1
পাওয়ারশেলের জন্য কাজ করে
আরএসেন্না

একই গিট স্ট্যাশ প্রয়োগ "স্ট্যাশ @ {2}" আমার জন্য কাজ করেছে, আমি পেয়েছিলাম "অজানা বিকল্প: -এনকোডডকম্যান্ড" বার্তা যখন আমার তৃতীয় স্ট্যাশকে স্ট্যাশ দেওয়ার চেষ্টা করছিল, আমি ভিজ্যুয়াল স্টুডিও কোডটি ব্যবহার করছিলাম যা টার্মিনাল হিসাবে পাওয়ারশেল ইন্টিগ্রেশন রয়েছে have
রাজন চৌহান

1

উইন্ডোজে ম্যাগিটের সাথে ইমাসে কাজ করার সময় আপনার যদি এই ত্রুটিটি থাকে (আমার মতো)
আমি আশা করি এই দ্রুত সমাধান আপনাকে সহায়তা করবে:

(if (eq system-type 'windows-nt)
    (defadvice magit-run-git (before magit-run-git-win-curly-braces (&rest args) activate)
      "Escape {} on Windows"
      (setcar (nthcdr 2 args) 
              (replace-regexp-in-string "{\\([0-9]+\\)}" "\\\\{\\1\\\\}" (elt args 2)))
    )
  )

এটি পরিচালিত {}একটি তৃতীয় প্যারামিটারে উদ্ধৃতি দেবে("stash", "cmd", "stash@{0}")magit-run-git



1

সরল উদ্ধৃতিগুলির মধ্যে সহজভাবে স্ট্যাশ আইডি রাখুন:

git stash apply 'stash@{1}'

3
কিভাবে এই প্রশ্নের উত্তর দেয়? স্ট্যাশ তালিকায় কোনও # 3 সূচক নেই। যদি এটি একটি গুরুতর উত্তর হয় তবে দয়া করে ব্যাখ্যা করুন কেন এই আদেশটি সমস্যার সমাধান করবে
ব্র্যাড

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

যদিও এই কোড স্নিপেট একটি ব্যাখ্যা সহ প্রশ্নটি সমাধান করতে পারে, সত্যিই আপনার পোস্টের মান উন্নত করতে সহায়তা করে। মনে রাখবেন যে আপনি ভবিষ্যতে পাঠকদের জন্য প্রশ্নের উত্তর দিচ্ছেন, এবং সেই লোকেরা আপনার কোড পরামর্শের কারণগুলি জানেন না।
দিমাসান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.