假设我有一个文件夹data/
,其中包含一些我希望监视更改的txt文件。我想运行一个脚本,找出自上次提交以来发生的变化。
以下是我的工作流程:
进行更改:添加,修改或删除文件
暂存所有文件git add data/
列出所有更改git diff --name-only --staged
这应该考虑三种情况:
我需要一个命令来专门告诉我自上次提交以来哪个文件被删除了。因此,在执行git rm deleted_file.txt
答案 0 :(得分:1)
您可以使用--diff-filter
列出已删除的文件,仅包括重命名文件。但我认为您的git diff
也会包含已删除的文件。
git diff --name-only --staged --diff-filter=D
- DIFF-滤波器= [(A | C | d | M | R | T | U | X | B)... [*]]
仅选择添加(A),复制(C),删除(D)的文件, 修改(M),重命名(R),有他们的类型(即常规文件, 符号链接,子模块,...)已更改(T),未合并(U),未知 (X),或已配对破碎(B)。任何组合 可以使用过滤字符(包括无)。当*(全有或全无) 添加到组合中,如果有任何路径,则选择所有路径 与比较中的其他条件匹配的文件;如果没有 与其他条件匹配的文件,未选择任何内容。
答案 1 :(得分:1)
您可以使用存储库gitk Link。它会显示存储库或选定提交集中的更改。
它支持一些适用于git diff- *命令的选项,用于控制每个提交引入的更改的显示方式。