2017-03-07 1 views
0

2 Git repos(すべてのブランチ&タグを考慮します)の間のすべての違いを確認する簡単な方法はありますか?私は、これに関連するいくつかの質問があることを知っていますが、結局、それらはすべて分岐ベースで比較しているようです(例:git log remote/master ... master)。私はreposの間のすべての違いを一覧できるものを探しています。2つのGit repos(すべてのブランチ)の違いを一覧表示します

ユースケースは私にGitリポジトリを出荷したベンダーがいることです。それ以来、私はどこで開発が行われたのか分かりません(私の地元のGitリポジトリやレポ、あるいはその両方)。私はすべての支店を比較して、何が変わったのかを見たいと思います。

これを行う簡単なGitの方法がありますか、またはこれをスクリプト化して各ブランチの名前を抽出し、ブランチでブランチを比較することに限定していますか?

+0

ブランチ(より具体的かつ正確には、ブランチ*名前*は特定のコミットの名前だけです。実際のコミットIDはハッシュIDです。 *名前*は、あなたとGitがコミットを見つけることから始めます。あなたがしなければならないことは、コミットを比較することです。それを行う簡単な方法は、2つのリポジトリのコミットを1つの大きなリポジトリにまとめることです。 'git fetch'コマンドは、"リモート " - ピアリポジトリの名前と関連するURLを持ちます - コミットをブランチ名で取得し、持っていないものを*あなたのものにコピーします*リポジトリの[cont'd] – torek

+0

...のような、わずかに変更された名前のもとでは、 'origin/master'や' peer/master'などのリモート追跡ブランチ名*です。以前はリポジトリ全体を以前から提供していたので、それを別のものとして扱い、新しいリポジトリを古いリポジトリに追加することができます(最初からやり直していないと仮定して)彼らが何をしたのか正確に見てください。 – torek

+0

@torek私は私がフォローしているかわからない。ブランチ名が単一のコミットIDへの参照に過ぎないと言っていますか? –

答えて

0

.gitフォルダ以外のすべてのファイルを削除してから、すべてのファイルをコピーして(.gitフォルダを除く)リポジトリに貼り付けて別のブランチにコミットすることができます。

次に、2つのブランチを互いに照らし合わせるためにさまざまな方法を使用できます。ちょっとハッキリですが、驚くほどうまく機能します。

必要に応じて、完了したらブランチを削除できます。

関連する問題