このファイルがブランチの後に作成された場合、プロジェクトからファイルを削除したマージを見つける方法はありますか?私の問題を再現するための次の手順は、明確にする必要があります。
- git init
- タッチファイル1
- git add file1
- git commit file1-m"マスターにfile1を追加しました"
- git branch newbranch
- タッチファイル2
- git add file2
- git commitfile2-m「分岐後にマスターにfile2を追加しました」
- echo"マスターがfile1"に変更します>>file1
- git commit file1-m"マスターのfile1を変更しました"
- git checkout newbranch
- echo"newbranchがfile1"に変更されます>>file1
- git commit file1-m"newbranchのfile1を変更しました"
- git merge master -s ours
- タッチファイル3
- git add file3
- git commitfile3-m「newbranchにfile3を追加しました」
- gitチェックアウトマスター
- タッチファイル4
- git add file4
- git commitfile4-m「マスターにfile4を追加しました」
- git merge newbranch
さて、file2を削除したコミット(マージ)をどのように見つけることができますか(つまり、この行/コマンドで発生したマージ: "git merge master -s ours")。
編集:
- git log --graph --format = oneline
*010a604feef300244386490f9c7c777dc9af6b16マージブランチ'newbranch' | \ | *3e7f3f6b53c2c92d137fa5a3bac190aa4c3e641fがnewbranchにfile3を追加しました | *b07090c2c6dd5cd2783f3db160f5b6f433beb544ブランチ'master'をnewbranchにマージします | | \ | * | a0053413ab81869574475c0ce889ee721f5ed254newbranch4のfile1を変更 * | | 859e813acd24c2090287ef9d83da339c06f1c754マスターにfile4を追加 | | / | / | * | 0004dc5cfe23874208c6a921f9c7434fcffba8f4マスターのfile1を変更しました * | 172d20a93ba40fb040348acc5ffe2ad45803ec22は、分岐後にマスターにfile2を追加しました | / *6a59be0a3d4203db84b67c02231c420b518fc349マスターにfile1を追加
私が探しているコミットは次のとおりです。b07090c2c6dd5cd2783f3db160f5b6f433beb544
- git log -g --diff-filter = D --file2
戻り値:commit 6a59be0a3d4203db84b67c02231c420b518fc349
- git log -g --diff-filter = D --follow --file2
戻り値:commit 010a604feef300244386490f9c7c777dc9af6b16
不思議なことに、問題を発見したリポジトリでは、git log -g --diff-filter = D --filenameを使用すると、探していた正しいコミットが得られました。