Magit - শেষ প্রতিশ্রুতি পূর্বাবস্থায় ফিরুন - ইতিহাস ম্যানিপুলেশন


12

এই স্ট্যাকওভারফ্লো প্রশ্নটিতে সর্বশেষ কমিটগুলি পূর্বাবস্থায় ফেলার জন্য সেরা সমাধান / পন্থা রয়েছে।

আমি কয়েক সপ্তাহ আগে ম্যাজিট ব্যবহার শুরু করেছি এবং এর সমস্ত ডকুমেন্টেশন সন্ধানের পরেও আমার এখনও ভুলভাবে প্রতিশ্রুতিবদ্ধ পরিবর্তনটি পূর্বাবস্থায়িত করার কোনও সঠিক / সর্বোত্তম উপায় নেই।

উদাহরণস্বরূপ:
আমরা ব্যবহার করতে পারি এমন প্রতিশ্রুতি পূর্বাবস্থায় ফিরিয়ে আনার জন্য:

$ git commit -m "Something terribly misguided"
$ git reset HEAD~
<< edit files as necessary >>
$ git add ... 
$ git commit -c ORIG_HEAD # To keep the same commit message

Magit ব্যবহার করে এই প্রক্রিয়াটি পুনরুত্পাদন করার জন্য সর্বোত্তম কর্মপ্রবাহ কী হওয়া উচিত ?

উত্তর:


17

আপনি magit-reset(ডিফল্ট দ্বারা আবদ্ধ x) ব্যবহার করতে পারেন । প্রতিশ্রুতি বিন্দুটি প্রম্পটের জন্য ডিফল্ট হিসাবে ব্যবহৃত হবে, তবে আপনি যে কোনও সংশোধন মানটি চান তা প্রবেশ করতে পারেন (এখানে "শিরোনাম)")।

পুনরায় সেট করার আদেশগুলি ম্যানুয়ালটির "রিসেটিং" বিভাগে বর্ণিত হয়েছে: https://magit.vc/manual/magit/Resetting.html

প্রতিশ্রুতি বার্তা পুনরায় ব্যবহার করতে, আপনি =Cকমিট পপআপ বিকল্পটি ব্যবহার করতে পারেন । অজ্ঞাতসারে, প্রম্পটটি বর্তমানে কোনও সমাপ্তির মান দেয় না (আমার মনে হয় এটি সম্ভবত কমপক্ষে অফার করা উচিত ORIG_HEAD) তবে পুনরায় সেট করার আগে আপনি বর্তমান কমিটের হ্যাশটিকে কিলের রিংয়ে রাখতে পারেন (যেমন, C-w"হেড:" লাইনে স্ট্যাটাস বাফারের) এবং তারপরে, রিসেট করার পরে =Cবিকল্পটির মান হিসাবে এটি ইঙ্ক করুন ।


কিছু অতিরিক্ত মন্তব্য:

  • ব্যবহারের পরিবর্তে =C, আপনি কমিট ( cc) শুরু করার পরে এবং পূর্ববর্তী বার্তাগুলির মাধ্যমে চক্র করতে git-commit-prev-message ( M-p) ব্যবহার করতে আরও বিশ্বাসী হতে পারেন ।

  • আপনি যদি কেবল সর্বশেষ প্রতিশ্রুতিটি সংশোধন করে থাকেন তবে আপনি magit-commit-amend ( ca) বা magit-commit-extend( ce) এর সাথে পূর্বের প্রতিশ্রুতিতে পর্যায়ক্রমে পরিবর্তনগুলি মোকাবেলা করতে পারেন । (উত্তরোত্তর COMMIT_EDITMSG বাফারকে বাইপাস করে প্রতিশ্রুতি বার্তাটি পুনরায় ব্যবহার করে))

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