我有一个远程裸存储库(没有工作目录),可以创建安装目录.工作得很好.但现在我只想创建已更改文件的焦油.我这样试过:
git archive --format=tar --prefix='/' HEAD `git diff V1.02 --name-only` | gzip -9 > ~/tars/update-v1.02-`git describe master --tags`.tar.gz
Run Code Online (Sandbox Code Playgroud)
这适用于我的本地存储库.它使用标记版本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
Run Code Online (Sandbox Code Playgroud)
HEAD我还建议将原始命令更改为master(如上所示),以与命令的其余部分保持一致,并且如果有人更改哪个分支HEAD指向(或者master将HEAD上面示例中所有出现的 替换为 ),请保持弹性。
| 归档时间: |
|
| 查看次数: |
612 次 |
| 最近记录: |