2017-03-23 13 views
0

これは私の完全なgitログです。git log origin/master..HEADが含まれていますが、origin/master自体が含まれています

$ git log --oneline --decorate 

77cbdda (HEAD -> master) file4 
8afab80 file3 
9a4cd72 file2 
76c2efc (origin/master) file1 

元/マスターからログにログを取得したいとします。私は

$ git log --oneline --decorate origin/master..HEAD 

を試みたとき は私が

77cbdda (HEAD -> master) file4 
8afab80 file3 
9a4cd72 file2 

以下のようなログMSGを得たが、私が欲しいのは、以下のようなものです。

77cbdda (HEAD -> master) file4 
8afab80 file3 
9a4cd72 file2 
76c2efc (origin/master) file1 

どうすればログメッセージを取得できますか?

+0

私は '76c2efc(origin/master)'があなたの最初のコミットだと思います。ですから、 'origin/master〜1'を試してみると、あなたの作業ツリーには存在しません –

答えて

2

使用は〜1

git log --oneline --decorate origin/master~1..HEAD

+0

私はすでにそれを試しました。しかし、私は以下のようなエラーメッセージが出る--->致命的な:あいまいな引数 'origin/master〜1.HEAD':未知のリビジョンまたはパスが作業ツリーにない.... – killinggun

+0

'origin /マスター 'はマージコミットですか? – PetSerAl

1

origin/master..HEADは/マスター起源ではないHEADに存在するものを意味します。

9a4cd72 (origin/master) file2はそうHEAD両方の起源/マスター存在し、それが76c2efc (origin/master)はあなたの非常に最初のコミットされない限り、これは動作するはずリスト

$ git log --oneline --decorate origin/master~1..HEAD 

ではありません。したがって、origin/master~1を試してみると、実際に作業ツリーに存在しないため、エラーが発生しています。

0

私は、原点/マスターがだったので、最初のをコミットだ

$ git log --oneline --decorate origin/master~1..HEAD 

を命じるとき、私はエラーを得た理由を持っています。 2回目のコミット以上の場合、エラーは発生しません。

エドモンドに感謝します。

+0

右:問題は「〜1」は「1つ後ろに戻る」を意味し、それ以上後ろに行く方法はないということです。幸運にも、 'stop..start'の全体的なポイントは' stop'とそれ以前のものを除外することなので、何も先にないことが分かったら、ここで 'start'を使うことができます。 – torek

+0

@torek 'git start --not stop^@'はどうですか? – PetSerAl

+0

@PetSerAl:興味深い。 (通常は '^ stop^@'という綴りがついていますが、--not'は別の '--not'-kindな微妙な点まで続きます...)。 '--boundary'には*コミットが多すぎることがあるので、' --boundary'よりも優れています。 – torek

0

あなたはコミットorigin/masterのすべての親を選択します

git log --oneline --decorate HEAD --not origin/master^@ 

origin/master^@使用することができますたびに1、ゼロまたは多数。 --notは、このコミット(およびその親)をリストから除外します。

注:メインライン親origin/master~1のみを除外すると、origin/masterがマージコミットである場合に、すべてのマージされたブランチからのコミットがリストされるため、すべての親コミットを除外する必要があります。

関連する問題