2012-12-18 23 views
138

リモートリポジトリのブランチのコミット履歴にアクセスしようとしています。私はthe docを見ましたが、ローカルのgitクライアントを使ってリモートリポジトリのコミット履歴にアクセスする方法に関する実質的な情報が見つかりませんでした。リモートリポジトリのコミット履歴

答えて

47
git remote add origin <remote reference> 
git fetch 
git log origin/master 
+0

ここではリモート参照は何ですか? – user1795998

+2

@ user1795998リモートリポジトリのGit URL。 'git:// git.somedomain.tld/some/repo' – gertvdijk

+1

フェッチ時に' 'を指定する必要はありません(または' fetch --all'を使用してください)。 – gertvdijk

172
git log remotename/branchname 

そのリポジトリで与えられたリモートブランチのログを表示していますが、彼らのリポジトリからリモートのリポジトリのあなたの個人的な「コピー」と「フェッチ」持っている唯一のログます。

リポジトリのクローンは、git fetchを実行することによってのみ、リモートブランチの状態を更新することに注意してください。サーバーに直接接続してログを確認することはできません。サーバーの状態をgit fetchでダウンロードしてから、リモートブランチのログをローカルで確認してください。

おそらく別の便利なコマンドは次のようになります。

git log HEAD..remote/branch 
あなたにリモートブランチにあるコミットを表示します

ではなく、あなたの現在のブランチ(HEAD)で。

+4

"サーバーに直接接続してログを確認することはできません" - それは私が持っていた問題でした –

+1

ローカルのプルされた変更のみを取得しています...リモートのものに注意してください。 – Loenix

+2

'git fetch'を実行するときに、' --all'を使用してリモートからフェッチする必要があります。 – ocodo

9

私はこれが可能ではないと思います。私はリモートでそのリモートのリポジトリを複製し、git logを発行する前にgit fetchを実行しなければならないと思います。

+1

あなたは既にリポジトリをローカルにクローンしていくつかの変更を加えることを想像してください。 。誰かがリモートのリポジトリにコミットしているかどうか確認したい場合 –

+0

この回答を「不可能」に変更すると、これが最良の答えです。リモートのgitクライアントを使用して、リモートのリポジトリのコミット履歴にアクセスする方法はありません。 – qneill

10

ログはローカルリポジトリでのみ表示できますが、設定したすべてのリモートのフェッチされたブランチを含めることができます。

あなたはレポのクローンを作成するのであれば、...

git clone [email protected]:folder/repo.git 

これはorigin/masterにデフォルト設定されます。

このレポにリモコンを追加することができます。origin以外にproductionを追加してください。ローカルのクローンフォルダ内から:

git remote add production [email protected]:folder/repo.git 

私たちが今まで私たちが行う必要がありますproductionのログを表示する場合:

git fetch --all 

これは、すべてのリモコンからフェッチ(デフォルトは--allなしフェッチだけフェッチうoriginから)

フェッチした後、productionリモートのログを見ることができるので、ブランチも指定する必要があります。

git log production/master 

すべてのオプションは、ローカルログオンログと同様に動作します。

7

これを行うための高速な方法は--bareキーワードを使用してクローンを作成して、ログを確認することです。

git clone --bare [email protected] tmpdir 
cd tmpdir 
git log branch 
1

あなたは簡単にリモートサーバーのログを取得することができます。

(1)gitをssh経由で使用している場合 - gitログインとパスワードを使用してリモートサーバーにログインし、リポジトリが存在するリモートフォルダをchdirにして "git log"コマンドを実行しますリモートサーバー上のリポジトリ内に保存します。

(2)Unixの標準ログインプロトコル経由でgitを使用している場合は、リモートサーバーにtelnetしてgitログを作成します。

これが役に立ちます。

+4

言い換えると、 "リモートサーバーのログを取得できません。ローカルgitクライアントを使用してログインしてログを取得する必要があります" – qneill