আমি git stash pop
বেশ কিছুদিন ধরে ব্যবহার করছি। আমি git stash apply
কমান্ড সম্পর্কে সম্প্রতি জানতে পেরেছি । আমি যখন এটি চেষ্টা করে দেখলাম তখন মনে হয় এটি একইরকম কাজ করবে git stash pop
।
মধ্যে পার্থক্য কি git stash pop
এবং git stash apply
?
আমি git stash pop
বেশ কিছুদিন ধরে ব্যবহার করছি। আমি git stash apply
কমান্ড সম্পর্কে সম্প্রতি জানতে পেরেছি । আমি যখন এটি চেষ্টা করে দেখলাম তখন মনে হয় এটি একইরকম কাজ করবে git stash pop
।
মধ্যে পার্থক্য কি git stash pop
এবং git stash apply
?
উত্তর:
git stash pop
এটি প্রয়োগ করার পরে (শীর্ষস্থানীয়, ডিফল্টরূপে) স্ট্যাশ ফেলে দেয় , পরে এটি পুনরায় ব্যবহারের জন্য সম্ভাব্য git stash apply
স্ট্যাশ তালিকায় রাখে (বা আপনি git stash drop
এটি করতে পারেন )।
এর পরে যদি বিরোধ না হয় তবেই এটি ঘটে git stash pop
, এক্ষেত্রে এটি স্ট্যাশ সরিয়ে ফেলবে না, একে একে ঠিক মতো আচরণ করতে রেখে git stash apply
।
এটি দেখার আরেকটি উপায়: git stash pop
তা git stash apply && git stash drop
।
git stash pop
ফলাফলের মতো হয় তবে আপনি এখনও একটি দ্বন্দ্ব ত্রুটি পাবেন।
জন সহায়ক জিনউইক যেমন বলেছিলেন এবং এর একটি অপূর্ণতা রয়েছে তেমনি এই পার্থক্যটিকেও জানায় এই সহায়ক লিঙ্কটি git stash pop
।
উদাহরণস্বরূপ, বলুন যে আপনার স্ট্যাশড পরিবর্তনগুলি আপনি অন্যান্য পরিবর্তনগুলির সাথে বিরোধ করছেন যা আপনি প্রথম স্ট্যাশ তৈরির পরে করেছেন। পপ এবং প্রয়োগ উভয়ই মার্জাল সংঘাতের সমাধানের মোডে সহায়কভাবে ট্রিগার করবে, আপনাকে এ জাতীয় দ্বন্দ্বগুলি সুন্দরভাবে সমাধান করার অনুমতি দেয় ... এবং না কোনও স্ট্যাশ থেকে মুক্তি পাবেন, যদিও আপনি সম্ভবত পপও আশা করছেন expect যেহেতু প্রচুর লোক স্ট্যাশগুলি কেবল একটি সাধারণ স্ট্যাক হিসাবে প্রত্যাশা করে, এর ফলে এগুলি ঘটনাক্রমে পরে একই স্ট্যাশটিকে পপ করে নিয়ে যায় কারণ তারা ভেবেছিল এটি শেষ হয়ে গেছে।
লিঙ্ক: http://codingkilledthecat.wordpress.com/2012/04/27/git-stash-pop-considered-harmful/
কর্মে এটি দেখতে পার্থক্যটি আরও ভালভাবে বুঝতে আপনাকে সহায়তা করতে পারে।
ধরে নিই আমরা master
শাখায় কাজ করছি এবং একটি ফাইল hello.txt
রয়েছে যাতে "হ্যালো" স্ট্রিং রয়েছে।
আসুন ফাইলটি পরিবর্তন করুন এবং এর সাথে "ওয়ার্ল্ড" স্ট্রিং যুক্ত করুন। সবেমাত্র পাওয়া একটি ছোট বাগটি সংশোধন করার জন্য আপনি একটি আলাদা শাখায় যেতে চান, সুতরাং stash
আপনার পরিবর্তনগুলি করতে হবে:
git stash
আপনি অন্য শাখায় চলে এসেছেন, বাগটি ঠিক করেছেন এবং এখন আপনি আপনার master
শাখায় কাজ চালিয়ে যাওয়ার জন্য প্রস্তুত , যাতে আপনি pop
পরিবর্তনগুলি:
git stash pop
এখন আপনি যদি স্ট্যাশ সামগ্রীটি পর্যালোচনা করার চেষ্টা করেন তবে আপনি পাবেন:
$ git stash show -p
No stash found.
তবে আপনি যদি এর git stash apply
পরিবর্তে ব্যবহার করেন তবে আপনি স্ট্যাশ করা সামগ্রী পাবেন তবে আপনি এটি সংরক্ষণও করতে পারবেন:
$ git stash show -p
diff --git a/hello.txt b/hello.txt
index e965047..802992c 100644
--- a/hello.txt
+++ b/hello.txt
@@ -1 +1 @@
-Hello
+Hello world
সুতরাং pop
, এটি একটি প্রকৃত উপাদান একবার এটি popped হচ্ছে সরিয়ে ফেলা হবে যখন - শুধু স্ট্যাকের পপ মত হল apply
আরো ভালো হয় উঁকি ।
ইন git
লুকোবার জায়গা স্টোরেজ এরিয়ে যেখানে বর্তমান পরিবর্তিত ফাইল সরানো হতে পারে।
stash
অঞ্চলটি দরকারী যখন আপনি git
সংগ্রহশালা থেকে কিছু পরিবর্তন আনতে চান এবং git
রেপোতে উপলব্ধ কিছু মিউচুয়াল ফাইলগুলিতে কিছু পরিবর্তন সনাক্ত করতে পারেন ।
git stash apply //apply the changes without removing stored files from stash area.
git stash pop // apply the changes as well as remove stored files from stash area.
দ্রষ্টব্য: -
git apply
প্রয়োগের সময় কেবলমাত্র স্ট্যাশ অঞ্চল থেকে পরিবর্তনগুলি প্রয়োগ করুনgit pop
পাশাপাশিstash
অঞ্চল থেকে পরিবর্তন সরিয়ে ফেলুন ।
গিট স্ট্যাশ Pop vs apply
ওয়ার্কিং
আপনি যদি বর্তমান শীর্ষস্থানীয় পরিবর্তনে আপনার শীর্ষ স্ট্যাশড পরিবর্তনগুলি প্রয়োগ করতে চান এবং সেই স্ট্যাশটিকেও মুছতে চান, তবে আপনার উচিত git stash pop
।
# apply the top stashed changes and delete it from git stash area.
git stash pop
আপনি যদি নিজের শীর্ষ স্ট্যাশেড পরিবর্তনগুলি মুছে না ফেলে বর্তমান নন-স্টেজড পরিবর্তনে প্রয়োগ করতে চান তবে আপনার উচিত git stash apply
।
দ্রষ্টব্য: আপনি
Stack
ক্লাসpop()
এবংpeek()
পদ্ধতিগুলির সাথে এই ক্ষেত্রেটি সম্পর্কিত করতে পারেন , যেখানে পপ শীর্ষকে হ্রাস দ্বারা শীর্ষে পরিবর্তন করে (শীর্ষ = শীর্ষ -1) তবেpeek()
কেবল শীর্ষ উপাদানটি পেতে সক্ষম।