[英]Git - List all files last committed in master branch
我的問題與此非常相似 - 我可以列出當前提交的文件嗎?
問題陳述:我試圖獲取在“master”分支的最后一次提交中新增/更改的所有文件的列表。
我嘗試過的:從我的.git
目錄所在的目錄運行這些命令。 git show --name-only
和git show --name-only master
但沒有顯示預期的結果。
它向我展示了這一點:
Merge: f733602 4d98b76
Author: Some Name <some.name@company.com>
Date: Thu Jul 1 11:34:49 2020 -0700
Merge pull request #28 from secret/my_rqd_files
我期待的是 - 它應該顯示所有文件的列表及其在 repo 中的完整路徑。
問題:我該怎么辦或我做錯了什么?
你正在嘗試它,但它是一個合並修訂版。 這有點不同。 嘗試
git diff --name-only HEAD~
要么
git diff --name-only master~ master
我的預感是,鑒於它是一個合並修訂版, git show
只會顯示修訂版本身引入的更改,這些更改不是來自正在合並的分支......諸如沖突解決之類的事情,例如......加上額外的您可能手動引入的更改。
您誤解了提交是什么。 一方面你說:
列出最后一次在 master 分支中提交的所有文件
另一方面你說:
我正在嘗試獲取在“master”分支的最后一次提交中新增/更改的所有文件的列表。
這是完全不同的兩件事。 Git 中的提交不是一組新的/更改的文件。 它是您所有文件的快照。
因此,您可以通過以下語句查看最近一次master
提交中所有文件的列表:
git ls-tree --name-only --full-name master
但是,如果您的目標是查看該提交相對於先前提交的更改,那么您需要要求 Git 生成與先前提交的差異:
git diff --name-status master~1 master
這顯示了文件的緊湊列表及其狀態(即文件是添加 (A) 還是修改 (M))。 例子:
% git diff --name-status master~1 master
M a
A what
我編輯了文件a
並添加了文件what
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.