2017-08-15 10 views
2

私はgitの動作に気付きました。this repositoryでわかりません。パスに制限されたgitログが期待されたコミットを表示しない

commit b1703a7542ee226535a34bd3de9aed48a7f76a8d 
Author: Lukas Beeck <[email protected]> 
Date: Wed Sep 7 10:37:39 2016 +0200 

    Bild von Mona Lisa war verschwunden, ist wieder drin 

commit 0e3ede155080a3005e6454d855e18dc0083ea01a 
Author: Lukas Beeck <[email protected]> 
Date: Fri Sep 2 10:20:25 2016 +0200 

    Erläuterung in Grafik eingefügt 

[...] 

git show b1703a7542ee226535a34bd3de9aed48a7f76a8dプリント:

commit b1703a7542ee226535a34bd3de9aed48a7f76a8d 
Author: Lukas Beeck <[email protected]> 
Date: Wed Sep 7 10:37:39 2016 +0200 

    Bild von Mona Lisa war verschwunden, ist wieder drin 

diff --git a/images/mona-lisa.jpg b/images/mona-lisa.jpg 
new file mode 100644 
index 0000000..f4f5583 
Binary files /dev/null and b/images/mona-lisa.jpg differ 

コミットあなたは、端末内のフォルダimagesに移動しgit log .を実行すると、それはこれを印刷し

git clone "[email protected]:skript-sicherheit/skript.git" 

:それは経由してクローニングすることができますメッセージはドイツ語です:「モナリザのイメージは消えてしまった。

ファイルmona-lisa.jpgは明らかにb1703a7542ee226535a34bd3de9aed48a7f76a8dに変更されました。それだけでもそれによって変更されたファイルです。

しかし、あなたはgit log mona-lisa.jpgを実行した場合、これは、(全体の)出力されます:

commit 669b00871f3dba5c43ac7d53e44f317a61b177d0 
Merge: 921a31c 519cdae 
Author: Lukas Beeck <[email protected]> 
Date: Fri Sep 2 15:39:00 2016 +0200 

    Merge branch 'index' 

はなぜb1703a7542ee226535a34bd3de9aed48a7f76a8dは、このコマンドの出力には表示されませんか?

答えて

0

もっとgitのログ画像/モナ・lisa.jpgのようなファイルのパス全体を渡すべきだと思いますが、何かが一連のイベントについての奇妙であるように見えますそのリポジトリに格納されます。何が私ができることから、これは状況です:

master    | .. -> A -> B -> [E] (Mona Lisa) -> .. -> [H] 
        |    /     /
index    |  .. -> C -> D      / 
        |          /
seitenkanalgriffe |    .. -> F (Mona Lisa) -> G 

何らかの理由で、モナリザの画像がEをコミットマージに追加されたようです。私はおそらく、追跡されていない画像が、当時のディレクトリに誤って入っていて、エラーによって追加されたと思われます。

Hまでマージされないseitenkanalgriffeブランチは、意図的にコミットされたと思われる実際のブランチです。

パスを指定すると述べてgit log documentation

[ - ] <パス> ...

ショーは、指定されたパスに一致するか、ファイルを説明するのに十分であることにコミット来た。詳細およびその他の簡素化モードについては、 以下の履歴の簡略化を参照してください。

混乱が発生した場合、オプションやリビジョン範囲からパスを区切るには、接頭辞を `` - ''にする必要があります。

重要なのは、このファイル履歴の面でコミットするので、画像を紹介し、Hgit log mona-lisa.jpgを実行するときにのみ、Eが表示され、ファイルに変更を加えていないどのコミット、Eです。 Eは、あなたの質問で言及している "Merge branch 'index'コメントのコミットです。

さらに混乱させるために、git log --follow images/mona-lisa.jpgを使用すると、デフォルトでマージのファイルに従わないため、コミットHしか表示されません。コミットEHが表示されるようにするには、git log --follow -m images/mona-lisa.jpgを実行する必要があります。

これは少なくとも、ここで何が起こっているのか、私の理解です。

+0

しかし、なぜ私はファイルやディレクトリの履歴についてgitに問い合わせても、コミットが表示される点で違いがあります。いずれのコミットもディレクトリ内の他のものには触れません。 –

+0

画像がどのように最初に導入されたかについては正しいようです。 '669b0087'にハードリセットすると、イメージがそこにあります。しかし、両親の「921a31c9」と「519cdaed」にハードリセットすると、そうではありません。これらのすべてのコミットは、 'seitenkanalangriffe'ブランチでイメージを導入しようとしていたのと同じ人物からのものですが、ブランチの' index'を 'master'にマージして間違って導入した後、' seitenkanalangriffe' 。彼はイメージがなくなったことに気付きました(おそらく、ドキュメントが作成されなかったためです)、もう一度追加しました。 –

+0

どのようなコミットがファイルに触れたかはどのようにして知ることができますか? –

0

私はあなたが満足のいく答えよりもコメントの

+0

私はディレクトリ 'images'に入ってコマンドを発行しました。 –

関連する問題