GitHubで、大規模なオープンソースプロジェクトの最初のコミットに移動する簡単な方法はありますか?
プロジェクトには、今日の時点で13,000以上のコミットがあります。最初のコミット(または最初のコミット)に到達するために、コミット履歴ページの「古い」ボタンを何百回も押したくありません。
GitHubで、大規模なオープンソースプロジェクトの最初のコミットに移動する簡単な方法はありますか?
プロジェクトには、今日の時点で13,000以上のコミットがあります。最初のコミット(または最初のコミット)に到達するために、コミット履歴ページの「古い」ボタンを何百回も押したくありません。
回答:
リポジトリのクローンを作成し、コマンドラインで開いて実行します $ git log --reverse
これにより、コミットが逆の順序で表示されます。
次に、最初のコミットのID(オブジェクト名)を取得したら、それをgithubで表示できます。 https://github.com/UserName/Repo/commit/6a5ace7b941120db5d2d50af6321770ddad4779e
oneline
これに引数を追加git log --reverse --oneline
して、リストとして表示できるようにします
git log --reverse --oneline | more
。標準のmore
動作、Ctrl + Cで終了します。
これを行う明確なUIはありませんが、コミットログの1つをページに移動するための正しいURLを構築する方法があります。
dotnet / coreclrリポジトリの最初のコミットを見つけたいとしましょう。まず、リポジトリ内のコミット数をメモします。現在の数は16,634です。次に、コミットのリストに移動し、「古い」を1回クリックします。URLは次のようになります。https://github.com/dotnet/coreclr/commits/master?after=872095a758a3a6191a9798c94a98e8d1e16b2254+34
+34
パーツに注目してください。これがスキップされるコミットの数です。これをページあたり16,634-1-35に変更すると、このURLが表示され、coreclrコミット履歴の最初のページに移動します。
2015年2月:GitHubで、大規模なオープンソースプロジェクトの最初のコミットに移動する簡単な方法はありますか?
はい、今あります!(意味:リポジトリのクローンを作成せずgit log
、ローカルクローンに適用しない)
2017年1月以降、GitHubに「改善された非難ビューでファイル履歴をより速くナビゲートする」ことができます。
回帰をデバッグしている場合でも、コードが現在の形になった方法を理解しようとしている場合でも、特定の変更前のファイルの外観を確認したい場合がよくあります。
改善された非難ビューを使用すると、ファイルの完全な履歴を表示せずに、ファイルの一部が時間の経過とともにどのように変化したかを簡単に確認できます。
これは、git / gitリポジトリ自体の元の最も古いコミット(47K +コミット)に戻るデモです... 3回のクリックで!
ここでの秘訣は、最初の(または非常に早い)コミットで見つかる可能性が高いファイルをのように選択することですREADME.md
。
Browse files
ため、別のファイルの注釈を押して開くことでこのプロセスを繰り返しました。
git log
は、(潜在的に巨大な)リポジトリをローカルで複製した場合にのみ機能します。最初のコミットに「ナビゲート」したい場合は、これで完了です。
nodejsプロジェクトの初期のコミットの1つを見たかったのです。次のことを行いました。
下にスクロールすると、[新しい]ボタンと[古い]ボタンが見つかりました。[新しい]ボタンは無効になっています。古いボタンをクリックすると、https://github.com/nodejs/node/commits/master?after = de37ba34c5d6f3a2d18daf482f850be8fddb4621 + 34に移動しました
次に、URLに+34があることを確認します。これを23000に変更しました(確認したコミット数が23000であるため)。だから私が試した新しいURLは
https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+23000
initブックマークレットを使用して、GitHubリポジトリの最初のコミットに移動できます。
初期化
ブックマークレット迅速最初のレポのコミットにあなたを取得します。
概観
リポジトリ内の最も古いコミットにすばやく移動できることは非常に役立ちます。先に進み、ブックマークレット(リンク)をブックマークバーにドラッグし、リポジトリの最初のコミットに移動したいときにクリックします。
使用法
特定のリポジトリのランディングページ
(e.g. like the one you're on)
に移動してブックマークレットをクリックすると、最初のページに移動します(初期コミット)。デフォルトではmaster
ブランチを追跡しますがbranch
、ランディングページでを変更すると、ブランチの最初のコミットに移動します。
免責事項:この回答を投稿する数分前に、小さなReadmeの更新を初期化しました。
次のコマンドを使用すると、コミットの最初のページに移動できます。これは、Chrome開発ツールのスニペットとして保持しています。
function githubFirstCommitsPage() {
let el = document.querySelector('.repository-content');
let base = el.querySelector('a[data-pjax]').href;
let count = el.querySelector('.commits .num')
.textContent
.trim()
.replace(/[^\d\.\-]/g, "");
count = count-36;
let sha = el.querySelector('.commit-tease-sha')
.href
.split('/');
sha = sha[sha.length-1];
window.location = `${base}?after=${sha}+${count}`;
}
githubFirstCommitsPage();
git log --reverse
git のコマンドを使用する必要があります。
これにより、指定したリポジトリのコミット履歴が逆の順序で返されます(古いものから新しいものへ)。
次に、いくつかのsed
魔法の助けを借りて、最初のコミットの日付のようなものを持つことができます(これは、私が常に自分のために必要であると私が見たものです)。
git log --reverse | sed -n 3p
最終的には、これも自動化する必要があるかもしれません(ほとんどの場合、コマンドを入力するのは退屈であるか、単に覚えておくのが難しいため)。このようなシェルスクリプトが役に立ちます。
このWebアプリケーションを使用して、最初のコミットをすばやく掘り下げることができますhttps://firstcommit.netlify.com/