从裸 git 存储库推送
push from bare git repository
我正在尝试使用裸 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
我收到警告:"remote HEAD refers to nonexistant ref, unable to checkout",但它仍会创建工作存储库
git pull origin master
我得到一个错误:"Couldnt find remote ref master"
更新
原来我有写权限问题,所以我无法从工作仓库推送到裸仓库。所以我一般需要在提问之前检查我所有回购位置的权限...现在一切正常...
一件事是,如果其他人将提交推送到源,我将需要从我的裸仓库中获取该提交并更新我的裸仓库上的分支。获取很简单
# in bare repo
git fetch origin master
但我不知道更新分支的最佳方法。我不能拉,因为没有工作目录。我可以使用
获取新提交的哈希值
git ls-remote
然后用
手动将分支指向它
git branch -f master <hash>
不过好像还有更好的办法。
但我认为这应该是一个单独的问题。
您可以将原始存储库克隆为裸存储库:git clone --bare <repo url>
我正在尝试使用裸 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
我收到警告:"remote HEAD refers to nonexistant ref, unable to checkout",但它仍会创建工作存储库
git pull origin master
我得到一个错误:"Couldnt find remote ref master"
更新
原来我有写权限问题,所以我无法从工作仓库推送到裸仓库。所以我一般需要在提问之前检查我所有回购位置的权限...现在一切正常...
一件事是,如果其他人将提交推送到源,我将需要从我的裸仓库中获取该提交并更新我的裸仓库上的分支。获取很简单
# in bare repo
git fetch origin master
但我不知道更新分支的最佳方法。我不能拉,因为没有工作目录。我可以使用
获取新提交的哈希值git ls-remote
然后用
手动将分支指向它git branch -f master <hash>
不过好像还有更好的办法。
但我认为这应该是一个单独的问题。
您可以将原始存储库克隆为裸存储库:git clone --bare <repo url>