'কমিট তারিখ' দেখানোর জন্য 'গিট লগ' কীভাবে কনফিগার করবেন


127

আমি কিভাবে কনফিগার করতে পারেন git logদেখানোর জন্য commit dateপরিবর্তে author date?


25
@ কলিন প্রতিটি প্রতিশ্রুতিবদ্ধতার সাথে দুটি তারিখ যুক্ত থাকে - লেখক এবং তারিখের তারিখ ( git show --pretty=fuller HEADউদাহরণস্বরূপ)। স্থানীয় বিকাশের জন্য, এগুলি সাধারণত একই হয় তবে ই-মেইল বা অন্যান্য ব্যবস্থার মাধ্যমে সংযুক্ত প্যাচগুলির ক্ষেত্রে এগুলি পৃথক হতে পারে, যেখানে অ্যাথারডেট হল প্যাচটি তৈরি হওয়ার তারিখ, এবং কমিটডেট যখন এটি রিপোজিটরিতে প্রয়োগ করা হয়েছিল তখন।
twalberg

উত্তর:


145

তারিখটি প্রিন্ট করার জন্য বেশ কয়েকটি বিকল্প রয়েছে । সম্ভবত সবচেয়ে সহজ হ'ল কেবল প্রাক-বেকড --prettyফর্ম্যাটগুলির মধ্যে একটি ব্যবহার করা , যেমন git log --pretty=fuller- এটি উভয় তারিখ দেখায়। আপনি যদি কেবল একটি তারিখ দেখতে চান তবে এটি কমিটের তারিখ তৈরি করেন তবে আপনি ব্যবহার করতে পারেন git log --format=<some stuff>। বিন্যাসটি সংজ্ঞায়িত করার জন্য সমস্ত অনুমোদিত কোডগুলি নথিভুক্ত করা হয়েছে git help log। কমিট তারিখ অন্যতম %cd, %cD, %cr, %ctবা %ci, কি বিন্যাসে উপর নির্ভর করে আপনি এটা পছন্দ করে।

আপনি যদি প্রায়শই এটি করতে চান তবে এটি কোনও উপনামের মধ্যে রাখুন বা টাইপিংয়ে সঞ্চয় করার জন্য একটি সহায়ক স্ক্রিপ্ট লিখুন।


53

আপনি কমিটের তারিখ আপেক্ষিকের জন্য ব্যবহার করতে পারেন --pretty=formatএবং ব্যবহার করতে পারেন %cr

উদাহরণ স্বরূপ:

$ git log --graph --pretty=format:'%C(auto)%h%d (%cr) %cn <%ce> %s'

এটিকে ব্যবহার করা সহজ করার জন্য আপনি গিটে একটি উপনাম সংজ্ঞায়িত করতে পারেন। আমার মধ্যে নিম্নলিখিত রয়েছে .gitconfig:

[alias]
# see `git help log` for detailed help.
#   %h: abbreviated commit hash
#   %d: ref names, like the --decorate option of git-log(1)
#   %cn: commiter name
#   %ce: committer email
#   %cr: committer date, relative
#   %ci: committer date, ISO 8601-like format
#   %an: author name
#   %ae: author email
#   %ar: author date, relative
#   %ai: author date, ISO 8601-like format
#   %s: subject
# my awesome git log replacement
lol  = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s\"
# same as above, but ISO date
lold = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%ci)%Creset %C(green)%cn <%ce>%Creset %s\"
# using build-in standards
lol2 = log --oneline --graph --decorate
# shows branches and their last commits
lol3 = log --all --graph --decorate --oneline --simplify-by-decoration

লিনাক্স বা অনুরূপ সিস্টেমে আপনি 'ডাবল-কোটের পরিবর্তে একক-কোট ব্যবহার করতে পারেন ":

[alias]
lol = log --graph --pretty=format:'%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s'

git lolএটির সাহায্যে চমত্কার আউটপুট দেখতে সহজভাবে চালনা করুন বা অন্যান্য রূপগুলি।

এর ফলাফল এখানে git lol --simplify-by-decoration:

গিট লোল আউটপুট

  • ভাল লাগছে। :)
  • lolচেয়ে টাইপ করা সহজ log, এবং খুব ভাল শোনাচ্ছে।
    • আপনার git logযদি প্রয়োজন হয় তবে আপনাকে নিয়মিত অ্যাক্সেসও দেয় ।
  • আপনার চোখ বিভিন্ন রঙের সাহায্যে সামগ্রীগুলি স্ক্যান করতে পারে।
  • নাম এবং ই-মেলগুলি অনেকগুলি অনুদানকারী সহ বৃহত প্রকল্পগুলি / org এর জন্য খুব দরকারী।
  • ইতিমধ্যে বেশ ভাল হ্যাশ / রেফের জন্য ডিফল্ট রঙিন ব্যবহার।

এখানে git loldআইএসও ফর্ম্যাটে তারিখের আউটপুট । কোনও অঙ্গীকারের সঠিক তারিখ / সময়টি দেখতে কার্যকর, বোনাস সহ অবদানকারীর সময় অঞ্চল সহজেই দেখতে পারা যায়।

এখানে চিত্র বর্ণনা লিখুন

2020-06 সম্পাদনা করুন : স্ক্রিনশট যুক্ত করা হয়েছে। (কমিট হ্যাশ) এবং (রেফের নাম) এর %C(auto)জন্য (অটো / ডিফল্ট রঙিন) ব্যবহারের জন্য আপডেট হয়েছে । ইমেল ছাড়াও যুক্ত (অঙ্গীকারকারীর নাম)।%h%d%cn


1
আমি একটি পার্সিং ত্রুটি পেয়েছি: git log --graph --pretty=format:\"%C(yellow)%h%Creset%C(cyan)%C(bold)%d%Creset %C(cyan)(%cr)%Creset %C(green)%ce%Creset %s\" ব্যাশ: অপ্রত্যাশিত টোকেনের কাছে সিনট্যাক্স ত্রুটি '('
ফ্রেমম্যান 1

2
@ frakman1 - আপনি উপরে লাইন টার্মিনাল চালানোর জন্য আন-এস্কেপ "গুলি প্রয়োজন
stites

2
সংশোধন করা রেখা: গিট লগ - অনুগ্রহ - ব্যাখ্যা = ফর্ম্যাট: "% সি (হলুদ)% হ% ক্রেসেট% সি (সায়ান)% সি (সাহসী)% ডি% ক্রেসেট% সি (সায়ান) (% সিআর)% ক্রেসেট% সি (সবুজ)% সিআর% ক্রেসেট% s "
রেডস্যান্ডস

1

আমি এই ফর্ম্যাটটি পছন্দ করি, লেখকের নাম অন্তর্ভুক্ত করে না এবং প্রতিশ্রুতি দেওয়ার আসল তারিখও অন্তর্ভুক্ত করে না।

git log --graph --pretty=format:"%C(yellow)%h%x09%Creset%C(cyan)%C(bold)%ad%Creset  %C(green)%Creset %s" --date=short
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.