我正在查看man page for git ls-tree。它有一個路徑選項。git ls-tree db/*。rb不工作
我有一個名爲db的目錄,並在該目錄中有幾個.rb文件。
那爲什麼我的命令失敗
git ls-tree db/*.rb
我正在查看man page for git ls-tree。它有一個路徑選項。git ls-tree db/*。rb不工作
我有一個名爲db的目錄,並在該目錄中有幾個.rb文件。
那爲什麼我的命令失敗
git ls-tree db/*.rb
首先actual man page is here。這是最新的Git版本的頁面。
其次,官方手冊頁說:給定樹對象的
列出的內容,像什麼「
/bin/ls -a
」確實在當前工作目錄。
注意的是:
行爲不同於的「
/bin/ls
」,所述路徑表示僅有的模式列表稍有不同以匹配,例如因此指定目錄名稱(不含-r
)的行爲將有所不同,參數的順序無關緊要。該行爲與「
/bin/ls
」的行爲類似,因爲路徑是相對於當前工作目錄而言的。
例如當您位於具有目錄目錄的目錄子目錄中時,可以運行git ls-tree -r HEAD dir
以列出目錄樹的內容(即在HEAD
中爲sub/dir
)。
在這種情況下,您不想提供不在根級別的樹(例如git ls-tree -r HEAD:sub dir
),因爲這會導致在HEAD
提交中請求sub/sub/dir
。但是,通過傳遞--full-tree
選項可以忽略當前工作目錄。
你的情況:
git ls-tree HEAD db/*.rb
可能會更好地工作。
注意:根據你想要做什麼,'git ls-files'可能更合適(http://kernel.org/pub/software/scm/git/docs/git-ls-files.html) – VonC 2010-03-29 06:58:17