Gitのリモートリポジトリ―のコミット履歴一覧は参照不能

GitでChromiumのような巨大リポジトリ―を使用していると、ストレージ容量や通信量が多いので、手元は必要最小限の履歴にしておいて、必要なコミット履歴をリモートリポジトリ―から参照したいことがあります。

それで、Gitでリモートリポジトリ―のコミット履歴を参照する方法がないか、度々調べることになり、同じ結論に辿り着いて無駄なのでここに記録しておきます。

avatar
ぐぬ管 (GNU social JP管理人)|gnusocialjp@gnusocial.jp
!it Gitが複雑で難しい。Gitはリモートリポジトリー関係の処理がほぼできません。 Chromiumのような巨大プロジェクトだと、ストレージも通信も大きいので、手元は–depth 1にしておいて、特定ファイルの履歴だけ追跡したいとかあるのです。 ですが、そういうのは無理です。基本はローカルに全部fetchする前提です。これがいまいちです。 全部の履歴を取得すると、それだけで300 GBとか使いますのでね…貸与されてるマシンのストレージが500 GBなのできついのです。
How to fetch only specific files on git
I want to save bandwidth and make my fetch/pull run faster, so i want to only update specific files and leave the rest unchanged, i don't care about their statu...
Commit history on remote repository
I am trying to access a branch's commit history on a remote repository. I had a look at the doc but could not find any substantial information on how to access ...

結論からいうと、git log相当のリモートリポジトリ―のコミット履歴一覧の参照は不能です。

git – Commit history on remote repository – Stack Overflow」にある通り、Gitはローカルリポジトリ―を前提としており、一度git fetchでリモートのデータのローカルへの取得が必要です。

リモートで参照できるのは、 git ls-remoteでのブランチ、タグ、コミットのみです。ローカルに取得せずに、リモートのコミット履歴だけ参照したり、検索することは不能です。

リモートでコミット履歴を参照したければ、そういう機能を搭載したGitの関連サービスを使うしかないです。例えば、Chromiumだと「Chromium Code Search」があります。「自宅でできる Chromium Code Search – Qiita」で説明されている「google/zoekt: Fast trigram based code search」のようなコード検索のためのツールがあるので、これを利用します。

何らかの方法で必要なコミットSHA1の一覧、ブランチ、タグの情報を取得して、git fetchをピンポイントで行うことで、必要なコミット履歴だけ取得することはできます。

何かあるたびに、Gitでリモートリポジトリ―のコミット履歴を参照できなかったっけ?と思うので、ここに記録して忘れないようにします。

Comments

Ads Blocker Image Powered by Code Help Pro

広告ブロッカー検知/Ads Blocker Detected

このサイトは会費と広告で運営されています。[Bronze=月220円以上に登録] するか、広告ブロッカーを無効にしてください。

This site is operated by membership and advertise. Please [register at least Bronze=220 JPY/month], or disable ads blocker.

Copied title and URL