我想创建一个命名空间并推送到一个裸仓库,这就是我所做的,Push 有效,克隆,pull 没有。
GIT_NAMESPACE=工作
创建了一个空仓库并添加了提交
完成 git push 到一个裸仓库;在裸仓库中,我确实看到了命名空间/工作
现在
如果我克隆它,名称空间就没有了。
我有相同的环境变量集。
我想创建一个命名空间并推送到一个裸仓库,这就是我所做的,Push 有效,克隆,pull 没有。
GIT_NAMESPACE=工作
创建了一个空仓库并添加了提交
完成 git push 到一个裸仓库;在裸仓库中,我确实看到了命名空间/工作
现在
如果我克隆它,名称空间就没有了。
我有相同的环境变量集。
我是 git 命名空间的新手,并决定尝试一下。以下脚本是结果。它涉及三个存储库。sample
仓库推送到sample-remote
裸仓库的工作命名空间。而且,我正在将工作命名空间克隆sample-remote
到sample-clone
存储库中。
#!/bin/bash
set -e
cd ~/Code
git init sample
cd sample
touch file
git add file
git commit -m "First commit"
git remote add origin ~/Code/sample-remote.git
git init --bare ~/Code/sample-remote.git
GIT_NAMESPACE=work git push origin master
cd ..
git clone ext::'git --namespace=work %s ~/Code/sample-remote.git' \
sample-clone -b master
cd sample-clone
touch file2
git add file2
git commit -m "Second commit"
git push
没有-b master
参数,我得到以下错误:
warning: remote HEAD refers to nonexistent ref, unable to checkout.
并且工作目录是空的。
这取决于您要访问存储库的方式。
请参阅gitnamespaces(7)。
文件系统访问示例:
git clone ext::'git --namespace=foo %s /path/to/repo.git'