2016-10-20 6 views
1

私はマスターブランチ上のgitリポジトリで作業しています。最近私は、ブランチを更新するためにリモートから引っ張ってきました。 私が引っ張る前に、IPがマスターのHEADだったことを知る方法はありますか?あなたはプル後に何をマージしなかった場合は引っ張る前にブランチのコミットIDを調べる

+4

'git reflog master'を実行すると、いくつかの手がかりが見つかります。 – ElpieKay

+1

恐ろしく、ありがとう@ElpieKay。私はそれを受け入れることができるように答えとして投稿してください。 – mat

答えて

0

あなたは形式で "で始まる

commit <merge-commit-hash> 
Merge: <first-parent-hash> <second-parent-hash> ... 
Author: ... 
Date: ... 

二行目(1コミットこれは、最新のマージを出力します

git log -1 --merges 

を使用することができますMerge ")は、そのマージコミットの親をリストします。最初のもの(<first-parent-hash>)は、マージする前にHEADが指していたコミットのハッシュです。

つまり、git pullと入力したときには<first-parent-hash>がチェックアウトされていました。

EDIT 制限:jacob-krallが指摘したようにHEADが(それはpullの一環として行われた)、このようなマージが作成されませんので、早送りとして解決merge場合あったところ、これはあなたが表示されませんオブジェクトをコミットします。

+0

これは早送りのために機能しますか? –

+1

いいえ、デフォルトでは、早送りマージの際にgitは新しいコミットオブジェクトを作成しません。これは、マージされたブランチが指しているコミットにマスタポインタをただ早く転送します。 git logはコミットを表示するために使用されるので、早送りマージは出力に反映されません。 –

+0

それでは、「私が引っ張る前に頭の中にあったのは何ですか?」という質問には答えないと思います。 –

関連する問題