【问题标题】:How to use tar to compute a hash of a directory with excludes如何使用 tar 计算具有排除项的目录的哈希值
【发布时间】:2020-05-02 18:00:02
【问题描述】:

我正在尝试使用 tar 来计算项目目录的哈希值并通过管道将其压缩到 sha1sum 中,到目前为止我有这个:

tar --exclude='.git' -cf - /path/to/my/project

但是,我最终收到“tar:拒绝将存档内容写入终端(缺少 -f 选项?)”和“tar:错误不可恢复:现在退出”的错误消息。

但如果我这样做 tar --exclude='.git' -cf - /path/to/my/project | sha1sum 它会起作用!但我想检查一下 .git 文件夹是否真的被排除了?

【问题讨论】:

  • 为什么不用git archive来制作tar文件?
  • @Shawn 我正在使用它来检测如果我更改代码但何时重新启动应用程序,但 inotify 之类的东西在共享文件夹之间不起作用。 git archive 会比 tar 更好吗?
  • 它将忽略特定于 git 的文件和任何不属于存储库的内容。但这只是变成了XY problem...你应该问你想要解决的真正问题而不是这个。

标签: linux tar


【解决方案1】:

您可以像这样获取文件列表:

tar --exclude='.git' -cvf - /path/to/my/project 2> /tmp/list-files.txt > /dev/null

【讨论】:

    猜你喜欢
    • 2011-12-19
    • 2011-08-26
    • 2014-01-17
    • 2014-09-16
    • 2013-12-27
    • 1970-01-01
    • 2016-03-02
    • 1970-01-01
    相关资源
    最近更新 更多