Lihat tanggal komit “nyata” di github (jam / hari)

161

Apakah ada cara untuk melihat tanggal komit di github, dengan ketepatan hari / jam? Komit yang lebih lama muncul dalam format "dapat dibaca manusia", seperti "2 tahun lalu" alih-alih menunjukkan tanggal yang sebenarnya.

github tua komit

Jika tidak mungkin melihat tanggal aktual di github, adakah solusi yang lebih mudah daripada git clone?

goncalopp
sumber

Jawaban:

302

Arahkan mouse Anda ke atas 2 years agodan Anda akan mendapatkan cap waktu.

Matt S.
sumber
32
Terima kasih. Itu "kegunaan"!
JD.
9
Solusi yang sama untuk cara melihat tanggal di StackOverflow. (Kanan atas, "tanya 1 tahun lalu")
Greg
8
Terima kasih. Sangat mudah untuk dilewatkan. Bukan solusi yang ideal menurut saya. ;-)
Nico
Saya tidak tahu Anda bisa melakukan ini ... ini membantu saya. Tapi saya bertanya-tanya, adakah perintah git yang dapat Anda masukkan yang akan menampilkan informasi ini jika Anda memasukkan hash komit?
CF_HoneyBadger
12
Mudah dilewatkan. Tidak bisakah mereka menunjukkan tanggal yang tepat?
sudo
9

Tanggal sebenarnya tidak muncul bagi saya setelah melayang "2 tahun yang lalu", meskipun teks tersebut dibungkus oleh <time>elemen dengan nilai iso di bawah datetimeatributnya.

Jika semuanya gagal, seperti yang terjadi pada saya, coba periksa teksnya.

Elemen sampel:

<time datetime="2015-01-22T20:48:13Z" is="relative-time" title="Jan 22, 2015, 2:48 PM CST">7 days ago</time>

Walter Roman
sumber
4
Tidak ada hubungannya dengan elemen akhir atau waktu atau semacamnya. Itu Anda dan peramban Anda. Judul attr ditampilkan oleh browser sebagai tooltip saat Anda mengarahkan kursor. Tidak ada yang mewah, tidak ada css, tidak ada. Beberapa orang telah melaporkan masalah dengan chrome dan attr title lihat stackoverflow.com/questions/21314758/… stackoverflow.com/questions/10391327/…
dalore
4

Anda bisa menggunakan bookmark js ini:

javascript:(function() { 
        var relativeTimeElements = window.document.querySelectorAll("relative time");
        relativeTimeElements.forEach(function(timeElement){
        timeElement.innerHTML = timeElement.innerHTML +" -- "+ timeElement.title;
        })
    }()
)

https://gist.github.com/PhilippGrulich/7051832b344d4cbd30fbfd68524baa38

Itu menambah waktu yang tepat: Seperti ini: dilakukan 21 jam yang lalu - 15. Februari 2017, 15:49 MEZ

Philipp Grulich
sumber
Milikmu tidak bekerja untukku, jadi aku menulis ini dan itu berhasil; +1 untuk inspirasijavascript:(function() { var el = document.createElement('div'); document.body.prepend(el); el.innerHTML = document.getElementsByTagName('relative-time')[0].getAttribute('title');}() )
Coty Embry
2

Saya mencoba skrip TamperMonkey / Greasemonkey @ odony di Chrome, tetapi tidak berhasil. detachCallback()tidak dikenali. Jadi alih-alih melepaskan callback, saya hanya mengganti <relative-time>node.

// ==UserScript==
// @name         Github: always show absolute times
// @match        https://github.com/*
// ==/UserScript==

(function() {
    document.querySelectorAll("relative-time").forEach(function(el) {
        var parent = el.parentNode;
        var timestamp = el.title;
        var span = document.createElement("span");
        span.innerHTML = timestamp;
        parent.removeChild(el);
        parent.appendChild(span);
    });
})();

Maaf saya belum mengujinya dengan peramban lain, tetapi karena ini adalah javascript dasar, seharusnya hanya berfungsi. :)

Tuan T
sumber
1

Jika Anda mencari cara untuk menampilkan tanggal / waktu secara permanen tanpa melayang (misalnya untuk tangkapan layar), solusi berbasis Javascript di atas tidak cocok dengan Github HTML terbaru (lihat komentar). Dan mereka tidak memperhitungkan fakta bahwa cap waktu diperbarui secara otomatis berdasarkan timer ( "X menit yang lalu" harus berubah setiap menit), sehingga mereka secara berkala akan muncul kembali.

Skrip berikut tampaknya berfungsi di Github pada 2020-01-27:

(function() {
    var els = window.document.querySelectorAll("time-ago,relative-time");
    els.forEach(function(el) {
        el.innerHTML = "on " + el.getFormattedTitle(); // original timestamp
        el.disconnectedCallback(); // stop auto-updates
    });
})();

Anda dapat membuat ini bookmarklet dengan mengawali kode dengan javascript:seperti pada solusi berbasis JS lainnya.

Dan jika Anda ingin menjadikan ini perbaikan permanen , Anda dapat menyimpan ini sebagai skrip TamperMonkey / Greasemonkey, sebagai berikut:

// ==UserScript==
// @name         Github: always show absolute times
// @match        https://github.com/*
// ==/UserScript==

(function() {
    setTimeout(function() {
        var els = window.document.querySelectorAll("time-ago,relative-time");
        els.forEach(function(el) {
            el.innerHTML += ' <span class="text-small">(' + el.title + ')</span>'; // set original timestamp
            el.disconnectedCallback(); // stop auto-updates
        });
    }, 100); // YMMV, experiment with the timeout
})();

Itu tidak terlalu cantik tetapi tampaknya melakukan pekerjaan itu.

odony
sumber
0

Dengan gitlab 10 saya menggunakan ini untuk menambahkan judul tooltip ke elemen sebagai teks standar:

javascript:(function() { 
  var relativeTimeElements = window.document.querySelectorAll("time");
  relativeTimeElements.forEach(function(timeElement){
    timeElement.innerHTML = timeElement.innerHTML +" -- "+ timeElement.getAttribute('data-original-title');
  })
}());
Xeno
sumber