githubで「実際の」コミット日を確認(時間/日)


160

githubでコミットの日付を日/時間の精度で確認する方法はありますか?古いコミットは、実際の日付ではなく、「2年前」などの「人間が読める」形式で表示されます。

古いgithubコミット

githubで実際の日付を確認できない場合、より簡単な回避策はありgit cloneますか?

回答:


301

にマウスを合わせる2 years agoと、タイムスタンプが表示されます。


32
ありがとう。それが「使いやすさ」です!
JD。

9
StackOverflowで日付を確認する方法の同じソリューション。(右上、「1年前に質問」)
Greg

8
ありがとう。見逃すのはとても簡単です。理想的な解決策ではないと思います。;-)
ニコ

私はあなたがこれを行うことができるとは思いませんでした...これは私を助けました。しかし、私が疑問に思うのは、commitハッシュを渡した場合にこの情報を表示するgitコマンドを入力できるかどうかです。
CF_HoneyBadger 2015年

12
見逃しやすい。彼らは正確な日付を表示できませんでしたか?
sudo

8

「2年前」にカーソルを合わせると、実際の日付は表示されませんが<time>datetime属性の下にiso値を持つ要素でテキストがラップされています。

他のすべてが失敗した場合は、私と同じように、テキストを調べてみてください。

サンプル要素:

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


4
終了要素や時間要素などとは関係ありません。それはあなたとあなたのブラウザです。タイトル属性は、ホバーするとツールチップとしてブラウザに表示されます。派手なjs、css、何もありません。一部の人々は、参照attrのクロムとタイトルの問題を報告しているstackoverflow.com/questions/21314758/...の stackoverflow.com/questions/10391327/...
dalore

4

あなたはこのjsブックマークを使うことができます:

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

それはちょうど正しい時間を追加します:このように:21時間前にコミットされました-2017年2月15日、15:49 MEZ


あなたのものは私にとってうまくいかなかったので、私はこれを書いてそれがうまくいった。インスピレーションのための+1javascript:(function() { var el = document.createElement('div'); document.body.prepend(el); el.innerHTML = document.getElementsByTagName('relative-time')[0].getAttribute('title');}() )
Coty Embry

2

Chromeで@odonyのTamperMonkey / Greasemonkeyスクリプトを試しましたが、動作しませんでした。detachCallback()認識されませんでした。したがって、コールバックを切り離す代わりに、単に<relative-time>ノードを置き換えました。

// ==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);
    });
})();

申し訳ありませんが、これを他のブラウザでテストしていませんが、これは基本的なJavaScriptなので、動作するはずです。:)


1

ホバーリングせずに恒久的に日付/時刻を表示する方法(スクリーンショットなど)を探している場合、上記のJavaScriptベースのソリューションは最新のGithub HTMLと一致しません(コメントを参照)。また、タイムスタンプがタイマーに基づいて自動更新されること(「X分前」は1分ごとに変更する必要があります)が考慮されなかったため、定期的に再表示されます。

次のスクリプトは、2020-01-27現在のGithubで動作するようです。

(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
    });
})();

他のJSベースのソリューションのようにコードの前に付けることで、これをブックマークレットにすることができますjavascript:

これを永続的な修正にしたい場合は、次のようにTamperMonkey / Greasemonkeyスクリプトとして保存できます。

// ==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
})();

それはそれほどきれいではありませんが、仕事をするようです。


0

gitlab 10では、これを使用してツールチップタイトルを標準テキストとして要素に追加しました。

javascript:(function() { 
  var relativeTimeElements = window.document.querySelectorAll("time");
  relativeTimeElements.forEach(function(timeElement){
    timeElement.innerHTML = timeElement.innerHTML +" -- "+ timeElement.getAttribute('data-original-title');
  })
}());
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.