আপনি কতটা দূরে এবং কোন শাখা (গুলি) এর উপর আপনি চান তার উপর নির্ভর করে বিভিন্ন উপায়ে একটি গুচ্ছ রয়েছে।
আসুন একটি ক্লাসিক ভুল করা যাক:
$ git checkout master
... pause for coffee, etc ...
... return, edit a bunch of stuff, then: oops, wanted to be on develop
সুতরাং এখন আপনি এই পরিবর্তনগুলি চান, যা আপনি এখনও প্রতিশ্রুতিবদ্ধ হন নি master
, চালিয়ে যাওয়া উচিত develop
।
আপনি যদি না থাকে একটি develop
এখনো, পদ্ধতি তুচ্ছ হল:
$ git checkout -b develop
এটি develop
এখন আপনি যেখানেই থাকুন না কেন থেকে শুরু করে একটি নতুন শাখা তৈরি করে । এখন আপনি প্রতিশ্রুতিবদ্ধ করতে পারেন এবং নতুন স্টাফ সব চলছে develop
।
আপনি আছে একটি develop
। দেখুন গিট আপনাকে কিছু না করেই স্যুইচ করতে দেয় কিনা:
$ git checkout develop
এটি হয় সফল হবে, বা অভিযোগ করবে। যদি এটি সফল হয়, দুর্দান্ত! শুধু প্রতিশ্রুতিবদ্ধ। (না হলে error: Your local changes to the following files would be overwritten ...
), আপনার কাছে এখনও প্রচুর বিকল্প রয়েছে।
সহজতমটি সম্ভবত git stash
(অন্য সমস্ত উত্তর-এর হিসাবে যা আমাকে ক্লিক করে postবলেছে) beat চালান git stash save
বা git stash push
, 1 বা কেবল প্লেইন git stash
যা save
/ push
:
$ git stash
এটি একটি অদ্ভুত নন-ব্রাঞ্চ-y পদ্ধতি ব্যবহার করে আপনার কোডটি (হ্যাঁ, এটি কিছুটা কমিট করে তোলে) সত্যিই কমিট করে। এটি করা কমিটগুলি কোনও শাখায় "চালু" নয় তবে এখন নিরাপদে সংগ্রহস্থলীতে সংরক্ষণ করা হয়েছে, সুতরাং আপনি এখন শাখাগুলি স্যুইচ করতে পারেন, তারপরে স্ট্যাশকে "প্রয়োগ" করতে পারেন:
$ git checkout develop
Switched to branch 'develop'
$ git stash apply
যদি সবকিছু ঠিকঠাক হয় এবং আপনি ফলাফলগুলি পছন্দ করেন তবে আপনার উচিত git stash drop
স্ট্যাশ। এটি অদ্ভুত নন-ব্রাঞ্চ-ওয়াই কমিটের রেফারেন্স মুছে দেয়। (তারা এখনও সংগ্রহশালায় রয়েছে, এবং কখনও কখনও জরুরী অবস্থায় পুনরুদ্ধার করা যায় তবে বেশিরভাগ উদ্দেশ্যে, আপনি সেগুলিকে সেই মুহুর্তে বিবেচনা করা উচিত))
apply
ধাপ stashed পরিবর্তন, গীত এর শক্তিশালী অন্তর্নিহিত একত্রীকরণ যন্ত্রপাতি, জিনিস একই ধরনের এটি ব্যবহার করে আপনি যখন শাখা মার্জ না ব্যবহারের একটি একত্রীকরণ আছে। এর অর্থ আপনি যে শাখায় ভুল করে কাজ করে যাচ্ছিলেন, যে শাখায় আপনি কাজ করছেন তার চেয়ে সম্পূর্ণ আলাদা যদি আপনি "মার্জ কোন্দল" পেতে পারেন means সুতরাং গিট নিজেই কোনও মার্জ কোন্দল সনাক্ত না করলেও , স্ট্যাশ পরিষ্কারভাবে প্রয়োগ করা হয়েছে বলে ধরে নেওয়ার আগে সতর্কতার সাথে ফলাফলগুলি পরীক্ষা করা ভাল ধারণা ।
অনেকে ব্যবহার করেন git stash pop
যা স্বল্প হাতে রয়েছে git stash apply && git stash drop
। এটি যতদূর যায় ঠিক আছে, তবে এর অর্থ হ'ল যদি অ্যাপ্লিকেশনটির কোনও গোলমাল ঘটে এবং আপনি সিদ্ধান্ত নেন যে আপনি এই পথে এগিয়ে যেতে চান না, আপনি সহজেই স্ট্যাশ ফিরে পেতে পারবেন না। আমি সন্তুষ্ট হলেই আমি পৃথক apply
, ফলাফল পরিদর্শন করার পরামর্শ দিই drop
। (এটি অবশ্যই অন্য একটি বিন্দু প্রবর্তন করে যেখানে আপনি অন্য কফি বিরতি নিতে পারেন এবং আপনি যা করছেন তা ভুলে যেতে পারেন, ফিরে আসুন এবং ভুল কাজটি করতে পারেন, তাই এটি কোনও নিখুঁত নিরাময় নয়))
1save
মধ্যে git stash save
একটি নতুন লুকোবার জায়গা তৈরি করার জন্য পুরাতন ক্রিয়া। গিট সংস্করণ 2.13 জিনিসগুলি আরও সুসংগত pop
করতে এবং ক্রমান্ড কমান্ডে আরও বিকল্প যুক্ত করতে নতুন ক্রিয়াটি প্রবর্তন করেছে । গিট সংস্করণ ২.১। আনুষ্ঠানিকভাবে পুরানো ক্রিয়াটি অবমূল্যায়ন করেছে (যদিও এটি এখনও গিট ২.২৩ এ কাজ করে, এটি আমি সম্পাদনা করার সময় সর্বশেষতম প্রকাশ)।
git stash
git-scm.com/book/en/Git-Tools-Stashing