2010-12-01 6 views
1

ローカルのmasterブランチとリモートのorigin/masterブランチを比較したいと思います。私はローカルのmasterブランチからgit pull --rebase; git diff origin/masterを行う方法を知っているので、コード内の行ごとの違いを検出できます。しかし、コミットの履歴を比較したい、つまり、git loggit log origin/masterを並べて表示する。私はgit show-branch -aを試みたが、得た:HEADは何を指していますか?

* [master] change content background-color to blue 
! [origin/HEAD] add favicon 
    ! [origin/master] add favicon 
--- 
* [master] change content background-color to blue 
*++ [origin/HEAD] add favicon 
  1. は、より良い方法はありますか?
  2. また、HEADは、チェックアウトされたコミットを指していますか?
+0

質問のタイトルは実際に変更する必要があります。あなたは本当に物事を比較することを求めています。そして、受け入れられた答えは、物事を比較することです。名前を変更して#2を削除してください。そのタイトルの検索結果が悪いと表示されなくなります。 – masukomi

答えて

1

あなたは行うことができます:

git log master..origin/master 

masterorigin/master "間" ですコミットを一覧表示します。

HEADは、チェックアウトされたコミットを指します。

ドットドット構文とHEADはともにgitrevisions(7)に記載されています。

+0

リンクをありがとう。それは言う:「HEADはコミットに、作業ツリーの変更内容はA.K.Aチェックアウトされたコミットに基づいています。 :) – ma11hew28

3
  1. より良い方法は、コード内の行ごとの差を検出するために...

    1. ありますか?

      git diff origin/master..master

    2. コミット履歴を比較するには?

      git log origin/master..master

  2. また、HEADのポイントは、チェックアウトがコミットに何をしますか?

    HEADは現在の「分岐」の「先端」を指します。両方のブランチから見える

     
    git-forest --date-order $(git merge-base master origin/master) master origin/master 
    

    をコミットを持ちながら

0

これは私の違いを見て合理的に良い方法を提供します(別の方法として、gitkまたはgit log --oneline --graphで置き換える。)

あなたが使用する必要があります
+0

前には森林について聞いたことがなかった。いくつかの[git wikiに関する情報](https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools#gitforest)があります。ほとんどの場合、あなたが示唆するように、組み込みツールで十分でしょう。 – Cascabel

0

git fetchではないgit pullgit pullはブランチをマージしようとします。あなたは今競合しており、それを中止するにはgit merge --abortを使用してください。

関連する問題