我正在尝试将提交后挂钩添加到裸存储库,这样每当提交时,更改的文件就会自动安装在(硬编码)目录中。
有没有办法从存储库中获取单个文件?
git-clone 似乎不允许指定路径,并且我发现的任何其他命令(git-fetch、git-pull)似乎都需要现有的本地 git 存储库才能工作。
有没有办法做到这一点?
我正在尝试将提交后挂钩添加到裸存储库,这样每当提交时,更改的文件就会自动安装在(硬编码)目录中。
有没有办法从存储库中获取单个文件?
git-clone 似乎不允许指定路径,并且我发现的任何其他命令(git-fetch、git-pull)似乎都需要现有的本地 git 存储库才能工作。
有没有办法做到这一点?
git show
您可以使用语法从裸存储库中的任何修订中提取单个文件git show <rev>:<filename>
,例如:
$ ls 分支 配置 描述 HEAD 挂钩 信息 对象 packed-refs refs $ git show master:COPYING > /tmp/COPYING $ 头 -5 /tmp/复制 GNU 通用公共许可证 第 3 版,2007 年 6 月 29 日 版权所有 (C) 2007 Free Software Foundation, Inc. 每个人都可以复制和分发逐字副本
git-show(1) 手册页中有几个示例。我希望这有点用。
您可以在以下位置找到答案:如何进行“git 导出”
特别是,git checkout-index
可能会为您完成这项工作:
git checkout-index -a -f --prefix=/destination/path/
不要忘记结尾的斜杠,否则此命令不会完全按照您的意愿执行。