如果该文件是在分支之后创建的,有没有办法找到从项目中删除文件的合并?重现我的问题的以下步骤应该澄清:
- 混帐初始化
- 触摸文件1
- git添加文件1
- git commit file1 -m "在 master 中添加了 file1"
- git 分支新分支
- 触摸文件2
- git添加文件2
- git commit file2 -m "分支后在 master 中添加了 file2"
- 回显“对文件1的主更改”>>文件1
- git commit file1 -m "master 中的 file1 已更改"
- git结帐新分支
- echo "newbranch 更改为 file1" >> file1
- git commit file1 -m "在新分支中更改了 file1"
- git merge master -s 我们的
- 触摸文件3
- git添加文件3
- git commit file3 -m "在新分支中添加了 file3"
- git结账大师
- 触摸文件4
- git添加文件4
- git commit file4 -m "在master中添加了file4"
- git 合并新分支
现在,如何找到删除 file2 的提交(合并)(我的意思是在这一行/命令中发生的合并:“git merge master -s ours”)。
编辑:
- git log --graph --format=oneline
* 010a604feef300244386490f9c7c777dc9af6b16 合并分支'newbranch' |\ | * 3e7f3f6b53c2c92d137fa5a3bac190aa4c3e641f 在新分支中添加了 file3 | * b07090c2c6dd5cd2783f3db160f5b6f433beb544 将分支“master”合并到 newbranch | |\ | * | a0053413ab81869574475c0ce889ee721f5ed254 更改了 newbranch4 中的 file1 * | | 859e813acd24c2090287ef9d83da339c06f1c754 在 master 中添加了 file4 | |/ |/| * | 0004dc5cfe23874208c6a921f9c7434fcffba8f4 更改了 master 中的 file1 * | 172d20a93ba40fb040348acc5ffe2ad45803ec22 在分支后在 master 中添加了 file2 |/ * 6a59be0a3d4203db84b67c02231c420b518fc349 在 master 中添加了 file1
我正在寻找的提交是:b07090c2c6dd5cd2783f3db160f5b6f433beb544
- git log -g --diff-filter=D --file2
返回:提交 6a59be0a3d4203db84b67c02231c420b518fc349
- git log -g --diff-filter=D --follow --file2
返回:提交 010a604feef300244386490f9c7c777dc9af6b16
奇怪的是,在我发现问题的存储库中,git log -g --diff-filter=D -- filename确实给了我正在寻找的正确提交。