gpt4 book ai didi

git - 在 Git 中仅导出具有文件夹结构的修改和添加的文件

转载 作者:IT王子 更新时间:2023-10-29 00:34:14 30 4
gpt4 key购买 nike

我想获取特定提交中修改和添加的文件的列表,以便我可以导出它们并生成具有文件结构的包。

思路是获取包并在服务器上解压。由于多种原因,我无法创建一个 Hook 来自动提取 repo 协议(protocol),而我必须保持服务器更新的最简单方法是生成这个包。

最佳答案

git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT <i>$commit_id</i>
  1. git diff-tree -r <i>$commit_id</i> :

    将给定的提交与其父目录(包括所有子目录,而不仅仅是顶级目录)进行比较。

  2. --no-commit-id --name-only :

    不输出提交 SHA1。仅输出受影响文件的名称,而不是完整的差异。

  3. --diff-filter=ACMRT :

    仅显示在此提交中添加、复制、修改、重命名或更改类型(例如文件 → 符号链接(symbolic link))的文件。这会排除已删除的文件。


评论更新:
根据问题上下文和下面的评论,使用以下命令,您可以获得 ACMRT文件为 .tar文件及其文件夹结构。

git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT $commit_id | tar -czf file.tgz -T -

关于git - 在 Git 中仅导出具有文件夹结构的修改和添加的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4541300/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com