Git:如何在修订之间获取所有更改的文件,即使它们在修订之间被还原

  • 本文关键字:之间 文件 还原 获取 Git git
  • 更新时间 :
  • 英文 :


我使用类似git diff --name-only 'HEAD@{2 days ago}' HEAD以在修订之间更改文件。

我的问题是,如果在这两个版本之间,一个文件被更改和恢复,它将不会被这个命令列出。我需要知道哪些文件被更改了,即使它们被还原了,我该怎么做?

我需要这个来发布建筑版本。如果一个版本在测试环境中失败,因为应用了错误的脚本,并且文件恢复到稳定状态,那么如果我要创建一个新版本,这个脚本将不在内部,也不会执行,错误的内容仍将在我的测试环境中。我将不得不手动执行脚本。它不会对应用失败版本的系统产生影响,但我的测试环境不会与其他所有环境处于相同的状态。

列出每次提交更改的所有文件,然后通过管道将其发送到| sort | uniq:

for rev in $(git rev-list HEAD~4..HEAD); do
git diff --name-only $rev~ $rev
done | sort | uniq

最新更新