簡體   English   中英

是否可以僅對 git repo 的子目錄中的文件進行稀疏結帳?

[英]Is it possible to sparse-checkout only the files in a sub-directory of a git repo?

我想將 React 的 build 文件夾的內容部署到 tomcat 的 webapps 目錄。

Github 上的項目稱為儀表板,它有一個名為 client 的子目錄,其中包含開發代碼以及生產構建文件 (/client/build)。 我想將該構建文件的內容拉入 webapps/ 中名為dashboard/ 的目錄中。

我試過使用 sparse-checkout 但發生的情況是完整路徑 (/client/build) 被放置在儀表板目錄中。 因此,不是 webapps/dashboard/構建文件夾內容,結構是 webapps/dashboard/client/build/構建文件夾的內容

有沒有辦法只從帶有稀疏結賬的文件夾中提取文件,或者有沒有辦法配置 tomcat 以查看 /client/build 以獲取它需要的文件?

可以使用稀疏檢出模式檢出有限的文件子集,但不能使用它來重命名文件。 如果文件名是a/b/c/d d——注意文件名不包含文件夾名; a/b/c/d只是一個文件名; 是您的操作系統,而不是 Git,堅持將其作為文件d存儲在文件夾c ,依此類推——然后就 Git 而言,該文件的名稱是a/b/c/d 1稀疏檢出代碼將使用該名稱檢出。

可以很容易地做的是使用git archive來生成一個 tarball 或 zip 存檔,然后使用任何允許你跳過一些路徑名組件的 un-archiver; 或者,如果您只有一個文件要提取,請使用git showgit cat-file -p提取文件,並將此命令的輸出定向到一個文件。


1我正在考慮處理文件重命名問題的一般方法,但它仍處於形成階段,並且不能保證 Git 項目人員會購買我在這里提出的任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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