জিথব মধ্যে একটি কমিটি বার্তা সম্পাদনা করার একটি উপায় আছে কি?


66

Github তৈরীর এবং ধাক্কা পর একটি প্রতিশ্রুতি বার্তা সম্পাদনা করার একটি উপায় আছে কি? আমি দেখেছি যে একটি 'নোট যোগ করুন' পাশাপাশি ইনলাইন মন্তব্য করা হয়েছে, তবে কোনও প্রত্যুত্তর বার্তাটির প্রকৃত সম্পাদনা নেই। Gitextentions মধ্যে 'সংশোধন সংশোধন' আছে কিন্তু যে বিদ্যমান বার্তা সম্পাদনা করে না।


আপনি কমিট ফেরত চেষ্টা করতে পারেন (এই SO প্রশ্নে কিছু অপশন দেখুন: stackoverflow.com/questions/4114095/... ) - শুধুমাত্র নিশ্চিত করুন যে আপনি কোনও কোড পরিবর্তনগুলি ব্যাক আপ করুন যাতে আপনি কোনও মন্তব্যের জন্য সেগুলি হারাবেন না!
Traveling Tech Guy

উত্তর:


97
  1. git rebase -i <commit hash you want to change>^

    এটি আপনার ডিফল্ট সম্পাদক খুলবে (সাধারণত ) প্রতিটি এক জন্য commits এবং কর্মের একটি তালিকা সঙ্গে। ডিফল্টরূপে, কর্ম হয় pick

  2. কোনও কমিটির জন্য আপনি বার্তা পরিবর্তন করতে চান, পরিবর্তন করুন pick থেকে reword

  3. সংরক্ষণ এবং প্রস্থান করুন (vi: :wq )।

  4. এই ধরনের প্রতিটি কমিটির জন্য, আপনি কমিটির বার্তা সম্পাদনা করতে একটি সম্পাদক পাবেন। আপনি ফিট দেখতে, সংরক্ষণ এবং ছেড়ে হিসাবে এটি পরিবর্তন করুন।

    একবার আপনি সমস্ত প্রতিশ্রুতি বার্তা সম্পাদনা করা হয়ে গেলে, আপনি কমান্ড প্রম্পটে ফিরে যাবেন এবং আপডেট হওয়া বার্তাগুলির সাথে একটি নতুন গাছ পাবেন।

  5. আপনি এখন ব্যবহার করে github তাদের আপলোড করতে পারেন git push origin --force

আপনি যদি শুধুমাত্র আপনার শেষ কমিট ঠিক করতে চান, আপনি পদক্ষেপ 1-4 প্রতিস্থাপন করতে পারেন git commit --amend


আপনি gitextensions মত একটি গুই এই কাজ করতে পারেন?
Matthew Peters

2
@ ম্যাথুইপারস আমি অনুমান করছি যে একটি উপায় থাকা উচিত, কিন্তু আমি জানি না - আমি সরাসরি কমান্ড লাইন ব্যবহার করি।
Mureinik

2
মনে হচ্ছে আপনি যে & lt; হ্যাশ পরিবর্তন করতে চান তা নির্দিষ্ট করতে পারেন & gt ;, পরিবর্তে আপনি যে পরিবর্তনটি পরিবর্তন করতে চান তার পূর্বে হিটটির হাশ উল্লেখ করতে হবে বা HEAD ~ x ব্যবহার করুন যেখানে x HEAD থেকে কৃতিত্বের সংখ্যা যেখানে আপনি পরিবর্তন করতে চান আইটেম।
ssc327

2
@ এসএসসি 327 নোট করুন যে আমি ^ সেখানে - আমি প্রকৃতপক্ষে আপনি পরিবর্তন করতে চান কমিটির পিতা বা মাতা পুনর্বাসনের প্রস্তাব।
Mureinik

2
@ মুরনিক আপনি সঠিক, আমি যেকোনোভাবে ^ ^ কে দেখে মিস করছি
ssc327

15

ইন্টেলিজ আইডিয়ায় আপনি এটিকে খুব সহজ করতে পারেন।

  1. ওপেন সংস্করণ নিয়ন্ত্রণ (ইতিহাস)
  2. লগ ট্যাব নির্বাচন করুন
  3. মন্তব্য পরিবর্তন কমিট নির্বাচন করুন
  4. F2 চাপুন (ম্যাক FN + F2), এবং আপনার প্রতিশ্রুতি বার্তা আপডেট করুন

1
কি একটি ভাল হাতিয়ার।
g10guang

আপনি ইতিমধ্যে রিমোট ধাক্কা যদি কাজ না।
paynd

2
আপনি চালানো আছে git push origin --force পরবর্তীতে @ মুরিনিকের উত্তর হিসাবে প্রস্তাবিত।
Dan Macák

পাশাপাশি অ্যান্ড্রয়েড স্টুডিও সঙ্গে নিখুঁত কাজ করে।
Rat-a-tat-a-tat Ratatouille

কমিটি ইতিমধ্যে push করা হয়েছে যদি "reword" অপশন নিষ্ক্রিয় করা হয়।
huyz

2

আরেকটি বিকল্প অতিরিক্ত "ত্রুটি-বিচ্যুতি কমিট" (এবং ধাক্কা) তৈরি করা যা ত্রুটি ধারণকারী বস্তুকে উল্লেখ করে - নতুন ত্রুটি-বিচ্যুতি কমিটি সংশোধন প্রদান করে। একটি ত্রুটি-বিচ্যুতি কমিটি কোনও বাস্তব কোড পরিবর্তনের সাথে একটি কমিট নয় তবে একটি গুরুত্বপূর্ণ প্রেরণ বার্তা - উদাহরণস্বরূপ, আপনার পঠনকারী ফাইলে একটি স্থান চরিত্র যুক্ত করুন এবং গুরুত্বপূর্ণ প্রেরণ বার্তাটি দিয়ে এটি পরিবর্তন করুন, অথবা গিট বিকল্পটি ব্যবহার করুন --allow-empty। এটা অবশ্যই রিজার্ভ করার চেয়ে অবশ্যই সহজ এবং নিরাপদ, এটি সত্য ইতিহাসকে সংশোধন করে না এবং এটি শাখা গাছকে পরিষ্কার করে (ব্যবহার করে amend আপনি যদি সাম্প্রতিকতম কমিটি সংশোধন করে থাকেন তবে এটিও একটি ভাল পছন্দ, তবে পুরানো কাজগুলির জন্য একটি ত্রুটি-বিচ্যুতি কমিটি ভাল পছন্দ হতে পারে)। এই ধরনের জিনিস এতই কমই ঘটে যে ভুলটি নথিভুক্ত করা যথেষ্ট ভাল। ভবিষ্যতে, যদি আপনি একটি বৈশিষ্ট্য কীওয়ার্ডের জন্য একটি গিট লগ অনুসন্ধান করতে চান তবে মূল (ভুল) সংঘটিত প্রদর্শিত হতে পারে না কারণ মূল শব্দটি মূল মূল্যে (মূল টাইপো) ব্যবহার করা হয়েছিল - তবে, শব্দটি প্রদর্শিত হবে ত্রুটি-বিচ্যুতির মধ্যে যা আপনাকে টাইপের মূল কমিটির দিকে নির্দেশ করবে। এখানে একটি উদাহরণ:

$ git log
commit 0c28141c68adae276840f17ccd4766542c33cf1d
Author: First Last 
Date:   Wed Aug 8 15:55:52 2018 -0600

    Errata commit:
    This commit has no substantive code change.
    THis commit is provided only to document a correction to a previous commit message.
    This pertains to commit object e083a7abd8deb5776cb304fa13731a4182a24be1
    Original incorrect commit message:
        Changed background color to red
    Correction (*change highlighted*):
        Changed background color to *blue*

commit 032d0ff0601bff79bdef3c6f0a02ebfa061c4ad4
Author: First Last 
Date:   Wed Aug 8 15:43:16 2018 -0600

    Some interim commit message

commit e083a7abd8deb5776cb304fa13731a4182a24be1
Author: First Last 
Date:   Wed Aug 8 13:31:32 2018 -0600

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