我正在尝试使用裸git回购作为我的工作回购与来源之间的桥梁
origin ----- bare repo ----- working repo
我可以进入工作仓库并从裸仓库中推拉。但是我还需要进入裸仓库并从源头开始推拉,这有可能吗?
编辑
到目前为止我尝试过的...
创建裸仓库
mkdir bare_repo
cd bare_repo
git init --bare
git remote add origin path_to_origin
git fetch origin
创建工作仓库
git clone path_to_bare
我收到警告:“远程HEAD指的是不存在的引用,无法检出”,但它仍会创建有效的存储库
git pull origin master
我收到一个错误:“找不到远程引用主机”
更新
原来我有写权限问题,所以我无法从工作存储库推送到裸存储库。所以我一般来说,在问问题之前,我需要检查我所有回购地点的权限...现在一切正常...
一件事是,如果其他人将提交推送到源,我将需要从裸仓库中获取该提交并更新裸仓库上的分支。提取足够简单
# in bare repo
git fetch origin master
但是我不知道更新分支的最佳方法。我不能拉,因为没有工作目录。我可以使用
获取新提交的哈希git ls-remote
,然后使用
手动将分支指向它git branch -f master <hash>
但是似乎会有更好的方法。
但是我认为这应该是一个单独的问题。
答案 0 :(得分:1)
您可以使用git clone --bare <repo url>