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


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.