git archive:如何在归档期间忽略pathspec?

时间:2016-11-30 04:39:53

标签: git git-archive

我正在尝试使用以下命令在最近的3次提交中创建文件的存档。

git archive -o archive.zip $(git diff --name-only HEAD~3)

但是在最后一次提交中我删除了一些文件,这显示在diff输出中。所以我收到了这个错误:

fatal: pathspec 'public/uploads/5839529ba9381.png' did not match any files

如何在git archive期间忽略提交中删除的文件?我已经尝试了--ignore-unmatch参数,但它不起作用。

2 个答案:

答案 0 :(得分:0)

基本上,@IBAction func onFilter(_ sender: Any) { if ((sender as AnyObject).isSelected == true) { hideSecondaryMenu() (sender as AnyObject).isSelected = false } else { showSecondaryMenu() (sender as AnyObject).isSelected = true } } 用于备份某个时间点的状态,不适合备份时间线的修改,即您无法通过git archive保存delete files的操作

如果要备份最新的3次提交,可以使用git archive命令。

git bundle

git bundle create last_three_commit.bundle HEAD~3..HEAD

请运行git bundle create last_three_commit.bundle -3 HEAD 了解详情。

答案 1 :(得分:0)

我当时处在同样的情况下,这里有些起作用。

tar vczf archive.tar.gz --ignore-failed-read `git diff --name-only hash1 hash2`

我也在寻找, git存档忽略已删除的文件。我想创建一个文件存档,该文件在两个分支/标签/哈希等之间添加/修改。

解决方案是使用tar而不是git archive,并以相同的方式传递git diff的输出,这里唯一的好处是您实际上可以忽略丢失的文件( ({commits ))。另外要注意的一件事是,该标志应位于存档文件名之后。