gpt4 book ai didi

从裸仓库上更改的文件中获取 git 存档

转载 作者:太空狗 更新时间:2023-10-29 13:26:46 27 4
gpt4 key购买 nike

我有一个创建 install-tars 的远程裸存储库(无工作目录)。很好用。但是现在我只想为更改的文件创建 tars。我这样试过:

git archive --format=tar --prefix='/' HEAD `git diff V1.02 --name-only` | gzip -9 > ~/tars/update-v1.02-`git describe master --tags`.tar.gz

这对我的本地存储库非常有用。它使用从标记版本 V1.02 到最新提交的文件创建一个 tar。但它不适用于裸存储库。还有其他解决方案吗?

最佳答案

git diff的二次提交形式将在裸存储库 (git diff [options] <commit> <commit> [--] [<path>...]) 中工作。

以下应该按照我的理解你想要的:

git archive --format=tar --prefix='/' master `git diff V1.02 master --name-only` | gzip -9 > ~/tars/update-v1.02-`git describe master --tags`.tar.gz

我还建议更改 HEAD从您的原始命令到 master (如上所示)与命令的其余部分保持一致,并且在有人更改哪个分支时具有弹性 HEAD指向(或者在上面的示例中用 master 替换所有出现的 HEAD)。

关于从裸仓库上更改的文件中获取 git 存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12841360/

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