আমি কীভাবে একবারে আমার সমস্ত গিট স্ট্যাশগুলি মুছতে পারি?


উত্তর:


2458

নিম্নলিখিত কমান্ডটি আপনার সমস্ত স্ট্যাস মুছে ফেলে:

git stash clear

থেকে Git ডকুমেন্টেশন :

clear

সমস্ত স্ট্যাশড রাজ্যগুলি সরান।

গুরুত্বপূর্ণ সতর্কতা: সেই রাজ্যগুলি তখন ছাঁটাইয়ের বিষয় সাপেক্ষে এবং পুনরুদ্ধার করা অসম্ভব হতে পারে (...)।


13
গিট স্ট্যাশ ড্রপ হয় না কেন?
ব্যবহারকারী 20358

137
@ user20358: যেহেতু stash drop( " লুকোবার জায়গা তালিকা থেকে একটি একক লুকিয়ে রাষ্ট্র সরান কোন <লুকোবার জায়গা> দেওয়া হয় যার ফলে সর্বশেষ এক সরিয়ে ফেলা হবে (...)।। ") প্রশ্ন ( "উত্তর না আমি কিভাবে মুছে ফেলতে পারেন সব এর আমার গিট একবারে স্ট্যাশ করে? ")?
টেডেক

11
উত্তরে বর্ণিত কি স্বীকৃত উত্তরের সাথে - git stash clear, সমস্ত ক্লিয়ার হয়ে গেছে কিনা তা নিশ্চিত করতে,git stash list
কমল

2
@ jedd.ahyoung এটিতে আরও এক হাজার upvotes হওয়া উচিত। এর জন্য ডকুমেন্টেশন সন্ধান gitকরা কার্যত অসম্ভব! git-scm.com/docs/git-stash
Drenai

11
@ রায়ান: git help <command>ডকুমেন্টেশন পাওয়ার সেরা উপায় (এবং এটি আসলে বেশ ভাল)। এই ক্ষেত্রে, git help stashস্পষ্টভাবে দেখান যে git stash clearএই কাজটি করেছে (এটি আমাকে প্রথমে এসওতে আসতে এবং উত্তরটি উত্সাহ দেওয়া থেকে বিরত রাখেনি ... তবে এটি আপনাকে আমার সম্পর্কে আরও বেশি বলে git: ডি)
মার্কো ম্যাসেনজিও

46

স্ট্যাশ মুছে ফেলার দুটি উপায় রয়েছে:

  1. আপনি আর একটি নির্দিষ্ট লুকোবার জায়গা প্রয়োজন হয়, তাহলে আপনার সাথে মুছে দিতে পারেন: $ git stash drop <stash_id>
  2. আপনার সাথে রেপো থেকে আপনার stashes সব মুছে দিতে পারেন: $ git stash clear

উভয়কে সতর্কতার সাথে ব্যবহার করুন, একবারে মুছে ফেলা স্ট্যাশগুলি পুনরায় ফিরিয়ে আনাই সম্ভবত কঠিন।

এখানে রেফারেন্স নিবন্ধ


2
টার্মিনালটি বন্ধ করার সাথে এর কোনও সম্পর্ক নেই। গিটটি ডেমন নয়; এটি কেবল তখনই চলে যখন আপনি এটি ডাকবেন। আপনি টার্মিনালটি বন্ধ করে রেখেছেন এটির কোনও ধারণা নেই।
ডিলানইং

31

এই কমান্ডটি আপনাকে সমস্ত স্ট্যাশড পরিবর্তনগুলি দেখতে সক্ষম করে।

git stash list

নীচের কমান্ডটি আপনার স্ট্যাশেড পরিবর্তনগুলি মুছে ফেলার জন্য এটি ব্যবহার করুন

git stash clear

এখন আপনি যদি স্ট্যাশ অঞ্চল থেকে স্ট্যাশড পরিবর্তনগুলির একটি মুছতে চান

git stash drop stash@{index}   // here index will be shown after getting stash list.

দ্রষ্টব্য: git stash listগিটের স্ট্যাশ অঞ্চল থেকে আপনাকে সূচক পেতে সক্ষম করে।


উইন্ডোজ 10 ব্যবহার করে কমপক্ষে ভিএসকোডে সংহত টার্মিনালের জন্য এটি উল্লেখযোগ্য git stash drop 'stash@{index}'
ওরিওল মিরি

12

আমি কয়েকটি সাম্প্রতিক স্ট্যাশ রাখতে চাইছিলাম, তবে সমস্ত কিছু মুছুন।

যেহেতু আপনি যখন একটি ড্রপ করেন তখন সমস্ত স্ট্যাশগুলি পুনরায় নামকরণ করা হয়, এটি করা কিছুক্ষণের মধ্যে করা সহজ। স্ট্যাশ @ {19} এর চেয়ে পুরানো স্ট্যাশগুলি মুছতে:

while git stash drop 'stash@{20}'; do true; done

এটি কি গিট ২.১১-তে প্রবর্তিত সূচক মানগুলিতে প্রযোজ্য, যেখানে আপনি git stash pop 3তার পরিবর্তে স্ট্যাশ তালিকা থেকে ২ য় স্ট্যাশ উল্লেখ করতে পারেন ? আমি জানতে চেয়েছিলাম যে আমরা whileসূচক মানগুলি ব্যবহার করে লুপ এবং ড্রপ স্ট্যাশগুলি ব্যবহার করতে পারি কিনা ।
tom_mai78101

আমি এর সরলতা পছন্দ করি, দুর্দান্ত মার্জিত সমাধান!
প্রভাবশালী

3

আমার আর একটি প্রয়োজনীয়তা ছিল যেমন কেবল কয়েকটি স্ট্যাশ অপসারণ করতে হয়, নীচের কোডটি সেই ক্ষেত্রে সহায়ক হবে।

#!/bin/sh
for i in `seq 5 8`
do
   git stash drop stash@{$i}
done

/ * 5 থেকে 8 সূচক থেকে মুছে ফেলবে * /


চেষ্টা করুনfor iterator in `seq 5 8`; git stash drop stash@{$iterator}; done
ক্রিস ম্যাককোয়ান

3
মনে রাখবেন যে আপনি যখন ড্রপ করবেন তখন বাকি স্ট্যাশগুলি 1 স্পট উপরে চলে যাবে। সুতরাং আপনি যদি 5 থেকে 8 থেকে সরাতে চান তবে আপনাকে হয় পিছনের দিকে গুনতে হবে বা চার বার বার স্ট্যাশ সরিয়ে ফেলতে হবে। উদাহরণস্বরূপ: for i in `seq 4`; do git stash drop 'stash@{5}'; done
টানা

@ ক্রিসমিসকোয়ান আপনার কোডটিতে একটি do
ফ্রি

3

আপনি যদি সর্বশেষ স্ট্যাশটি মুছে ফেলতে চান বা কোনও নির্দিষ্ট সূচীতে -

গিট স্ট্যাশ ড্রপ টাইপ_আপনার_আইডেক্স

> git stash list

  stash@{0}: abc
  stash@{1}: xyz
  stash@{1}: pqr

> git stash drop 0

  Dropped refs/stash@{0}

> git stash list

  stash@{0}: xyz
  stash@{1}: pqr

আপনি যদি একবারে সমস্ত স্ট্যাশ সরিয়ে নিতে চান -

> git stash clear
>

> git stash list
>

সতর্কতা : একবার হয়ে গেলে আপনি আপনার স্ট্যাশ ফিরিয়ে দিতে পারবেন না


1

40 দিনের চেয়ে পুরানো সমস্ত স্ট্যাশ মুছতে, ব্যবহার করুন:

git reflog expire --expire-unreachable=40.days refs/stash

--dry-runকোন স্ট্যাশগুলি মুছে ফেলা হয়েছে তা দেখতে যুক্ত করুন ।

ব্যাখ্যা এবং আরও বিশদ জানতে https://stackoverflow.com/a/44829516/946850 দেখুন ।

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