如何用单条Git命令获取当前分支专属的已提交/暂存/未暂存变更文件?
解决方案
你可以使用这条单条Git命令来获取所需的完整变更文件列表:
git diff --name-only $(git merge-base HEAD main)
命令说明:
git merge-base HEAD main:找到当前分支与main分支的共同祖先提交(即你从main分支分出时的节点),确保只会对比当前分支自创建以来的变更,完全排除main分支后续的更新内容。git diff --name-only <共同祖先>:对比该共同祖先提交与当前工作区的所有差异,自动包含三类文件:- 当前分支已提交到HEAD的变更文件
- 已暂存(staged)的变更文件
- 未暂存(unstaged)的变更文件
这条命令的输出会自动去重显示所有符合要求的文件,无需手动合并多条命令的结果。
内容的提问来源于stack exchange,提问作者Lode
相关产品推荐
相关产品推荐

