【发布时间】:2011-05-02 09:30:03
【问题描述】:
使用有什么好处
git archive master/foo | tar -x -C ~/destination
部署 /foo vs. 的副本只是从工作副本中复制
cp foo ~/destination/foo
所以,除非出于某种原因,您不想从 master 中的 foo 子目录(或您碰巧正在处理的任何分支)复制所有内容,否则使用 cp 部署到 [destination] 就足够了。
【问题讨论】:
使用有什么好处
git archive master/foo | tar -x -C ~/destination
部署 /foo vs. 的副本只是从工作副本中复制
cp foo ~/destination/foo
所以,除非出于某种原因,您不想从 master 中的 foo 子目录(或您碰巧正在处理的任何分支)复制所有内容,否则使用 cp 部署到 [destination] 就足够了。
【问题讨论】:
git archive 仅导出属于 git 存储库的项目。 cp 复制指定目录下的所有内容,包括.git 目录、被 git 忽略的文件等。
【讨论】:
.gitignore 中至少有一些东西,无论是构建产品、日志、临时文件、本地数据等等。我会说想要避免这些文件更为常见,但你是对的,如果你不在乎它们是否出现,只需复制即可。
git archive 也尊重 export-ignore 和 export-subst gitattributes,如果给定提交 ID 或标签 ID,它将提交 ID 存储在全局扩展 pax 标头中(除非被要求不这样做) .