我如何检查它是否是裸露的?
正如在回答如下(已投票)由杰贝里曼,如果您有权访问远程存储库,则可以在其中运行:
git rev-parse --is-bare-repository
它早在提交 493c774,Git 1.5.3(2007 年 9 月)和提交 7ae3df8 by 马蒂亚斯·莱德霍费尔 (matled).
当存储库是裸机时打印“true”,否则打印“false”。
你可以使用(从git config):
git config --add push.default current
指定默认情况下要推送的内容。
or:
git config --global push.default matching
如果你有很多存储库。
current:将当前分支推送到同名分支。
还要检查警告后是否没有出现如下所示的错误消息所以问题.
所以你的目标仓库可能只是一个空的仓库,但是,正如明智的 Git 参考规范:
当你做一个git pull
, fetch,
push
和其他一些你需要指定refspec
对于当前存储库。
A refspec
描述本地引用和远程引用之间的映射,因此您可以推送(或拉取等)主分支头并将其存储为原始分支头。基本上,这是一种在存储库之间映射分支的方法。
也可以看看 ”git 中裸露共享存储库的概念".
注意:这比来自的更真实Git1.6.3, :
"git push
" 进入当前已签出的分支将默认被拒绝。
您可以通过设置配置变量来选择此类推送时应该发生的情况receive.denyCurrentBranch
在接收存储库中。
但我认为这不是你现在看到的。
正如《关于“裸”存储库——什么、为什么以及如何修复非裸推送“ (在底部)
要使其成为“真正的”裸存储库,只需删除除.git
, then mv .git/* .; rmdir .git
.
最后,编辑名为config
并改变bare = false
to bare = true
.
因此,如果您的目标存储库有config
文件与bare = true
,它是一个裸仓库。