簡體   English   中英

Git - 列出最后在主分支中提交的所有文件

[英]Git - List all files last committed in master branch

我的問題與此非常相似 - 我可以列出當前提交的文件嗎?

問題陳述:我試圖獲取在“master”分支的最后一次提交中新增/更改的所有文件的列表。

我嘗試過的:從我的.git目錄所在的目錄運行這些命令。 git show --name-onlygit 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM