git pull
の後に情報を失いたくなかったので、以前にgit fetch
をしました。 git fetch
の後の新しい変更はどこで読むことができますか? FETCH_HEAD
ファイルにアクセスしましたが、大きな数に過ぎませんでした。
git fetch Origin
は、デフォルトで「Origin」という名前のリモートからすべてを取得し、そのリモートのいわゆる「リモート追跡ブランチ」を更新(または作成)します。 「master」および「feature」という名前のブランチを含む「Origin」という名前のリモートでは、git fetch remote
を実行すると、「Origin/master」および「Origin/feature」という名前のリモート追跡ブランチが更新されます(または存在しない場合は作成されます)。それらはgit branch -a
の出力で見ることができます(「-a」に注意)。
さて、通常のGitのセットアップでは、ローカルブランチ(の一部)は特定のリモートブランチ(通常は同じ名前)に従います。つまり、ローカルの「マスター」ブランチは「オリジン/マスター」などに従います。
したがって、フェッチした後、リモートの「マスター」がローカルの「マスター」と比較したものを確認するには、Gitにこれを正確に表示するように依頼します。
git log Origin/master ^master
つまり、「「マスター」から到達可能なコミットを含まない「オリジン/マスター」から到達可能なすべてのコミット」、または
git log master..Origin/master
同じ意味を持ちます。詳細については、 "gitrevisions"マニュアルページ を参照してください。特に「範囲の指定」の部分については。 git-logマニュアルページ の例を参照してください
git log
の出力は、それに影響を与える多くのオプションをサポートするので、自由にカスタマイズできます。
ローカルブランチには、一致するリモートブランチに含まれていない(まだ)コミットもあることに注意してください。それらの概要を取得するには、(できれば)明白な理由でgit log
に渡されたリビジョンを逆にする必要があります。
いつものように、ツールの使用を開始する前に、基礎となる概念を理解することは educateyourself に不可欠です。してください。
試して
git log --oneline --decorate Origin/master
これにより、master
remoteのOrigin
headから変更ログが得られます(必要に応じて、他のリモートブランチに置き換えることができます)。次のような出力が得られます。
234121 (Origin/master) Commit message 5
872373 Commit message 4
623748 Commit message 3
235090 (master) Commit message 2
192399 Commit message 1
マークされたコミットは(master)
はローカルmaster
ブランチのヘッドです。マークされたコミットは(Origin/master)
は、リモートのmaster
ブランチのヘッドです。
GIT PULLを実行した場合に変更されるファイルを確認するだけの場合は、次の操作を行います。
git fetch && git diff HEAD @{u} --name-only
コミットされていないローカル変更を含め、現在のバージョンと着信バージョンのすべての違いを確認するには、次のように入力します。
git fetch && git diff @{u} --name-only