এটি দুর্ভাগ্যজনক যে git stash apply stash^{/<regex>}
কাজ করে না (এটি আসলে স্ট্যাশ তালিকার অনুসন্ধান করে না, গৃহীত উত্তরের নীচে মন্তব্যগুলি দেখুন )।
এখানে ড্রপ-ইন প্রতিস্থাপনগুলি রয়েছে যা git stash list
প্রথম (সর্বাধিক সাম্প্রতিক) সন্ধান করার জন্য রেজেক্স দ্বারা অনুসন্ধান করে stash@{<n>}
এবং তারপরে এটি প্রেরণ করুন git stash <command>
:
# standalone (replace <stash_name> with your regex)
(n=$(git stash list --max-count=1 --grep=<stash_name> | cut -f1 -d":") ; if [[ -n "$n" ]] ; then git stash show "$n" ; else echo "Error: No stash matches" ; return 1 ; fi)
(n=$(git stash list --max-count=1 --grep=<stash_name> | cut -f1 -d":") ; if [[ -n "$n" ]] ; then git stash apply "$n" ; else echo "Error: No stash matches" ; return 1 ; fi)
# ~/.gitconfig
[alias]
sshow = "!f() { n=$(git stash list --max-count=1 --grep=$1 | cut -f1 -d":") ; if [[ -n "$n" ]] ; then git stash show "$n" ; else echo "Error: No stash matches $1" ; return 1 ; fi }; f"
sapply = "!f() { n=$(git stash list --max-count=1 --grep=$1 | cut -f1 -d":") ; if [[ -n "$n" ]] ; then git stash apply "$n" ; else echo "Error: No stash matches $1" ; return 1 ; fi }; f"
# usage:
$ git sshow my_stash
myfile.txt | 1 +
1 file changed, 1 insertion(+)
$ git sapply my_stash
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: myfile.txt
no changes added to commit (use "git add" and/or "git commit -a")
মনে রাখবেন যে যথাযথ ফলাফলের কোডগুলি ফিরে এসেছে যাতে আপনি অন্যান্য স্ক্রিপ্টগুলির মধ্যে এই আদেশগুলি ব্যবহার করতে পারেন। কমান্ডগুলি চালনার পরে এটি যাচাই করা যেতে পারে:
echo $?
ভেরিয়েবল এক্সপেনশন শোষণ সম্পর্কে কেবল সাবধান থাকুন কারণ আমি --grep=$1
অংশটি সম্পর্কে নিশ্চিত ছিল না । এটি সম্ভবত হওয়া উচিত --grep="$1"
তবে আমি নিশ্চিত নই যে এটি রেজেক্স ডিলিমিটারদের সাথে হস্তক্ষেপ করবে (আমি পরামর্শের জন্য উন্মুক্ত)।
git stash push -m stashname
হয় বর্তমান সিনট্যাক্স ।git stash save stashname
অবচয় করা হয়েছে।