Ada*_*cki 4 git git-diff git-log
如何列出两次提交之间“触及”的所有文件?我正在寻找一个类似于git diff COMMIT1..COMMIT2 --name-only但包括稍后修改和恢复的文件的命令。
例如,假设我有一个包含一系列提交(线性历史)的存储库:C0<-C1<-C2<-C3<-C4。提交 C1 引入了一个新文件 F,然后提交 C3 将其从存储库中删除。我正在寻找一个命令,给定 C0 和 C4,它会告诉我中间有一个文件 F。即使 C0 和 C4 中没有这样的文件。因此git diff根本不会提及文件F。
git diff ref1 ref2只考虑给定的提交,是的,但git log会找到缺少的步骤并列出每个步骤的文件,这sort将聚合:
git log --pretty=format: --name-only COMMIT1..COMMIT2 | sort -u
Run Code Online (Sandbox Code Playgroud)