যখন ষষ্ঠ কোনও কমিটের বার্তার জন্য অপেক্ষা করতে পর্দায় থাকে তখন আমি গিট কমিটিকে কীভাবে থামাব?


203

আমি গিটকে গিট ব্যাশের মধ্যে থেকে কোনও কমিট সম্পাদন করতে বলেছি, এটি সর্বদা যেমন VI ম হয়েছে।

আমি এখন প্রতিশ্রুতি বাতিল করতে চাই, কীভাবে আমি এই বিন্দু থেকে প্রতিশ্রুতি নিয়ে এগিয়ে যাওয়া রোধ করব?


:q!ভিথ থেকে বেরিয়ে আসার আগে আপনাকে Esc প্রেস করতে হবে তা যুক্তিযুক্ত।
এম_মারসিলেস

উত্তর:


331

আপনার দুটি বিকল্প রয়েছে:

  • একটি খালি প্রতিশ্রুতি বার্তা সরবরাহ করুন। যদি এটি একটি নতুন প্রতিশ্রুতি থাকে এবং আপনি এখনও বার্তাটি সংরক্ষণ না করেন তবে আপনি কেবল ব্যবহার করতে পারেন :q!(সংরক্ষণ না করেই ছাড়ুন)। আপনি যদি ইতিমধ্যে সংরক্ষণ করেছেন (বা আপনি পূর্বের প্রতিশ্রুতি সংশোধন করছেন), কেবলমাত্র সম্পূর্ণ লগ বার্তাটি মুছুন এবং আবার সংরক্ষণ করুন। এটি ggdG+ :wqভিমে ইন দিয়ে করা যায় ।

  • একটি শূন্য-বহির্গমন কোড সহ সম্পাদককে প্রস্থান করুন। ভিমে, আপনি ব্যবহার করতে পারেন :cq(একটি ত্রুটি কোড সহ প্রস্থান করুন)।

এটি লক্ষণীয় যে আপনি সর্বদা আপনার কার্যকরী অনুলিপিটি সেই প্রতিশ্রুতি দেওয়ার আগে যে অবস্থায় ছিল সেটিতে এটি পুনরায় সেট করতে পারেন git reset HEAD^


95
: সিকিউ ব্যবসা হয়। কোনও কারণে গিটটি নির্বিশেষে গাlow় লাঙ্গলটি ব্যবহার করি যদি: আমি!
সিরেক্স

2
গিট রিসেট হেড ^ স্থানীয় পরিবর্তনগুলি বাতিল করবে
juanmf

2
: q! কোন ইতিমধ্যে সেখানে একটি পূর্বনির্ধারিত বার্তা আছে সম্ভবত কাজ করে না, আপনি কেবল এটি সম্পাদনা করছেন।
পাপিপো

হিচাপ: যদি আরও git reset HEAD^জিজ্ঞাসা করা হয়, আপনার শেলটি লাইন ধারাবাহিকতা হিসাবে ব্যাখ্যা করতে পারে। ব্যবহার করে দেখুন git reset "HEAD^", git reset HEAD^^অথবা git reset HEAD~1পরিবর্তে এই উত্তর প্রতি: stackoverflow.com/questions/14203952/git-reset-asks-more
জেক স্টিভেনস-হাস

75
  • :q!কোন কমিট সংশোধন করার সময় কাজ করে না। এটি প্রতিশ্রুতি বার্তা আপডেট করে না, তবে এটি সংশোধনটি কার্যকর করে :-(
  • :cq সম্পূর্ণরূপে সংশোধন বাতিল।

1
আমি আশা করি আমি আরও +1 যোগ করতে পারতাম। আমার সংশোধনী যখন ভুল প্রতিশ্রুতি দেয় তখন আমি এখানে প্রচুর সময় ছিলাম।
ওয়াইর্মউড

8

সংক্ষেপে:

  • একটি নতুন প্রতিশ্রুতি তৈরি করার সময় (যেমন git commit) ব্যবহার করা ছেড়ে দিন :q!
  • সংশোধন করার সময় (অর্থাত্ git commit --amend) কমিট বার্তাটি মুছে ফেলুন (কেবল প্রথম কয়েকটি সারি একটি # দিয়ে শুরু নয় ) উদাহরণস্বরূপ v ধরে রাখা এবং এটি নির্বাচন করতে তীর কীগুলি ব্যবহার করে এবং তারপরে মুছুন চাপুন। পরিবর্তনগুলি প্রয়োগ করতে ছাড়ুন:wq ! আপনি যদি ব্যবহার :q!করেন পরিবর্তনগুলি হারিয়ে যাবে এবং আগের প্রতিশ্রুতি বার্তা ব্যবহার করা হবে।

ভিআইএম ব্যবহার করার সময় এটি উভয় ক্ষেত্রেই ঠিক আছে :cq- এইচআইএম একটি ত্রুটি কোড সহ প্রস্থান করবে এবং প্রতিশ্রুতি বাতিল করা হবে।

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