8

git リポジトリの出力が必要git logですが、リポジトリ全体を複製する必要はありません。

つまり、意味的に次のようなものが欲しい

git log git@github.com:username/reponame.git

これを行う方法があれば、私も同じことを望みますgit whatchanged

github がこれに対する簡単な解決策を提供する場合、github でホストされている git リポジトリのみに制限したいと思います。

4

5 に答える 5

7

リモートブランチを取得してから、それとやり取りする必要があります。git fetchリモート ブランチをローカル リポジトリの FETCH_HEAD にプルしますが、作業ディレクトリにはプルしません。

git log FETCH_HEAD --decorate=fullリモート ブランチである refs/origin/HEAD と比較して、HEAD がどこにあるかを確認できます。

git whatchanged FETCH_HEAD --decorate=full上記と同じですが、変更されたファイルも表示されます。

git diff HEAD FETCH_HEADリポジトリの HEAD と、取得したばかりのリモート ブランチの HEAD との差分

git diff --stat HEAD FETCH_HEADマージ中および git pull の下部に表示されるのと同じように、変更の概要プレビュー。

フェッチした変更を取り込みたい場合は、git merge FETCH_HEAD. (git pull基本的にフェッチしてからマージするだけの場合)

于 2013-01-10T17:13:35.047 に答える
3

最近の履歴だけが必要な場合にフェッチする必要があるものの量を制限する浅いクローンを実行できます。

git clone --depth 100 ...
于 2012-09-06T00:42:34.417 に答える
1

あなたの解決策は、github.com Web サイトの履歴を見ることだと思います。git logコマンドラインから作業する必要がある場合は、リポジトリの独自のクローンが必要です。

理論的には、github の API からコミット情報を取得するコマンドライン ツールを作成できますが、これは実際の差分ではなく、コミット メッセージ/メタデータのみを表示することに制限されます。

于 2012-09-06T00:36:59.340 に答える
0

Unix の方法は、シェル アカウントを持つことです。

ssh user@otherserver cd reponame.git '&&' git log

ssh user@otherserver cd reponame.git '&&' git whatchanged

この方法には、リモートサーバーで必要なものを何でも実行できるという利点があります。ただし、これがgithubで機能するとは思えません。

于 2012-09-06T00:47:54.183 に答える