প্রতিটি প্রবেশের পাশাপাশি একটি গিটার-রিফ্লগের তারিখ দেখানোর কোনও উপায় আছে কি?


303

গিট-রিফ্লগ কমান্ড ডিফল্টরূপে প্রতিটি প্রবেশের পাশাপাশি একটি তারিখ প্রদর্শন করে না, যা আমাকে একটি অদ্ভুত পর্যবেক্ষণ হিসাবে আঘাত করে; আমি মনে করি এটি খুব সহায়ক হবে।

সেখানে কি কোনও কমান্ড-লাইন বিকল্প, বা অন্যান্য টুইটস রয়েছে, যা প্রতিটি রিফ্লগ এন্ট্রি যুক্ত হওয়ার পরে এটি দেখাতে পারে যার জন্য নিয়োগ করা যেতে পারে? র manpage আসন্ন না ...

উত্তর:


451

ম্যান পৃষ্ঠাটি লেখার সাথে সাথে আপনি নিজের পছন্দ মতো git log, বলুন git reflog --pretty=shortবা অন্য কোনও বিকল্পগুলি ব্যবহার করতে পারেন

চেষ্টা

git reflog --date=iso

11
এটি তারিখের সাথে প্রধান নম্বর (বা সঠিক শব্দটি যাই হোক না কেন) প্রতিস্থাপন করে। আপনি উভয় পেতে পারেন?
— মার্কো একস্টাইন

7
@Marco মনে হয় আপনি একটি কাস্টম বিন্যাস ব্যবহার করতে হবে: git reflog --format='%C(auto)%h %<|(17)%gd %C(blue)%ci%C(reset) %s'। আমি এর জন্য একটি নাম যুক্ত করেছি: github.com/blueyed/dotfiles/commit/…
— নীল রঙের

1
@ ব্লুয়েড একেবারে এক নয় - --date=isoরিফ্লগ কমান্ডের মধ্যে দেখা যায় যে রিফ্লগ এন্ট্রি কখন তৈরি হয়েছিল, কমিটের সময় নয়। তবুও আপনার উপনামটির প্রশংসা করুন, কারণ আমি এটি প্রাক্টির রিফ্লগ তৈরি করতে ব্যবহার করেছি।
— জোহান হেনকেন্স

36

আপনি এর --walk-reflogsরূপটি ব্যবহার করতে পারেন git log:

git log -g

এটি ডিফল্টরূপে বরং ভার্বোজ, এবং অন্যান্য জিনিসগুলির মধ্যে তারিখটি মুদ্রণ করে। আপনি এটি স্ট্যান্ডার্ড --pretty=পতাকা দিয়ে ফর্ম্যাট করতে পারেন ।

--pretty=আউটপুট ফর্ম্যাট করতে আপনি সরাসরি পতাকা সহ রিফ্লগ কমান্ডও ব্যবহার করতে পারেন ।

git reflog --pretty='%cd %h %gd %gs'

উপরের ফর্ম্যাটে, %cdসাধারণ রিফলগ আউটপুটটির বাম দিকে কমিটের তারিখ দেখায়।


9
%cd, দুর্ভাগ্যবশত, যেটি আমি (বা ওপি) এর পরে নেই তা প্রতিশ্রুতিবদ্ধ হওয়ার তারিখটি প্রতিশ্রুতিবদ্ধ হওয়ার তারিখটি দেখায়: আমরা রিফ্লগ প্রবেশের তারিখ চাই want
— থানাটোস

10
git log --walk-reflogs --date=isoসবেমাত্র আমার দিনটি তৈরি করেছেন
— আলয়েস মাহডাল

7

আপনাকে একটি কাস্টম ফর্ম্যাট ব্যবহার করতে হবে:

git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)'

উপরোক্ত বিন্যাসে, %hকমিট হ্যাশ, %crআপেক্ষিক প্রতিশ্রুতিবদ্ধতার তারিখ, %gsপ্রত্যাবর্তনের বিষয়, এবং, %sপ্রতিশ্রুতিবদ্ধ বিষয়। এ Git-লগ ডক্স অন্যান্য সম্ভাব্য প্লেসহোল্ডার জন্য। উদাহরণস্বরূপ, %ciপরিবর্তে ব্যবহার করা %crনিখুঁত প্রতিশ্রুত তারিখগুলি দেখায়।

আপনি এটি আপনার কাস্টম prettyফর্ম্যাট ব্যবহার করে আপনার a / .gitconfig এ সংরক্ষণ করতে পারেন এবং এটি একটি উলের মাধ্যমে উল্লেখ করতে পারেন:

[alias]
    rl = reflog --pretty=reflog
[pretty]
    reflog = %C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)

1
%gdএটির সাথে সমস্যাটি হ'ল এটি একই তারিখটি প্রদর্শন করে না @{now}। রিফ্লগটি অনুসন্ধান করার সময়, সঠিক সময়টি জেনে রাখা সত্যই গুরুত্বপূর্ণ হতে পারে ("আমি জানি এটি 8:57 এ সঠিক অবস্থায় ছিল" উদাহরণস্বরূপ)।
— এরিক

2
@ErikE - শুধু পরিবর্তন crকরতে ciপ্রতিটি কর্মের পূর্ণ টাইমস্ট্যাম্প পেতে:git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%ci%C(reset) %gs (%s)'
— n1k31t4

6

gitকোন বিন্যাসে বলুন , হয় গণনা করা reflogএন্ট্রি বা সময়সীমার reflogএন্ট্রি, অর্থাত্

$ git reflog @{now}

$ git reflog @{0}

আমার মধ্যে প্রোগ্রামারটি "প্রাকৃতিক ভাষা" এর তারিখগুলি পছন্দ করে না {}, তবে আনন্দের সাথে এই কৌশলটিও কাজ করে --date=iso।
— mwfearnley

5

নোট গিট 2.10 (Q3 2016) তারিখ সম্পর্কে ডকুমেন্টেশন উন্নত করে git reflog।

দেখুন কমিট 642833d , কমিট 1a2a1e8 (27 জুলাই 2016), এবং d38c7b2 কমিট , 522259d কমিট , কমিট 83c9f95 , কমিট 2b68222 দ্বারা (22 জুলাই 2016) জেফ কিং ( peff) ।
সহায়তা করেছেন: জেফ কিং ( peff) ।
(দ্বারা একীভূত junio সি Hamano - gitster- মধ্যে কমিট 0d32799 , 08 আগস্ট 2016)

rev-listঅপশন আপডেট করা হয় :

আউটপুটে reflog designator যেমন দেখানো হতে পারে ref@{Nth}(যেখানে Nthবা reflog মধ্যে বিপরীত কালানুক্রমিক সূচি) ref@{timestamp}(যে এন্ট্রির জন্য টাইমস্ট্যাম্প সঙ্গে), কয়েক নিয়ম উপর নির্ভর করে।

এর মধ্যে রয়েছে : - সম্পর্কে একটি আপডেট --date=raw:

যুগের পরে সেকেন্ড হিসাবে তারিখটি দেখায় (1970-01-01 00:00:00 ইউটিসি), তারপরে একটি স্পেস এবং তারপরে টাইমজোনটি ইউটিসি থেকে অফসেট হিসাবে (a +বা -চার অঙ্ক সহ; প্রথম দুটি ঘন্টা হয়, এবং দ্বিতীয় দুটি মিনিট)।
অর্থাৎ, টাইমস্ট্যাম্পটির সাথে ফর্ম্যাট করা হয়েছে strftime("%s %z"))।
নোট করুন যে -localবিকল্পটি seconds-since-epoch মানটি প্রভাবিত করে না (যা সর্বদা ইউটিসিতে পরিমাপ করা হয়), তবে সাথে থাকা সময় অঞ্চল মানটি পরিবর্তন করে।

এবং একটি নতুন বিকল্প: --date=unix

ইউনিক্সের যুগের টাইমস্ট্যাম্প (1970 সাল থেকে সেকেন্ড) হিসাবে তারিখটি দেখায়।
হিসাবে --raw, এটি সর্বদা ইউটিসিতে থাকে এবং তাই -localএর কোনও প্রভাব নেই।

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