设置:在工作中我们有一个git repo,我们的脚本在那里。这些脚本需要在我们所有的客户端linux机器上访问(~400)。当前的解决方案是拥有一个文件服务器,它定期拉出主分支。然后安装(nfs + autofs)。
问题:是否有一种简单的方法来安装远程git分支只读?
我知道GitFS,但这似乎有点矫枉过正。我正在寻找轻量级的东西,最好是在内存中,即不用检查磁盘上的东西。我只需要访问一个分支,没有历史记录。
编辑: 要清除这一点:我想避免拉动和cronjobs这样的东西。最好的是透明地安装远程git存储库,就像只读nfs mount一样。
答案 0 :(得分:1)
问题: 是否有一种简单的方法来安装远程git分支只读?
是的,你可以用几种方式做到这一点。
bundle
和& archive
是read-only
存储库。
git bundle
# Clone the desired branch (-b flag)
# and pack it into a bundle with the desired name
git clone repo.bundle repo-copy -b master
这是一个包含只读模式所需分支的单个文件,因为它不是git存储库。
git archive
类似于上面的bundle
命令
# Create a tar archive that contains the contents of the latest commit
# on the current branch, and
#extract it in the /var/tmp/junk directory.
git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)