我有一个目录列表,我想运行git pull
其中一些可能是空的。
当我在其上运行git pull
时,我收到此错误:
Your configuration specifies to merge with the ref 'master'
from the remote, but no such ref was fetched.
,退出代码为1
如果任何命令失败,我的脚本将退出。
是否可以检测是否由于此错误而失败?或者任何其他方式拉出哪些不会在空存储库中出错?
修改:.git/config
git:(master) cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = <git repo url>
[branch "master"]
remote = origin
merge = refs/heads/master
答案 0 :(得分:1)
这取自here
要在 路径 中克隆空仓库,
换句话说,不要尝试克隆空仓库,而是在创建它之后,向它推送一个包含一个无害文件的简单仓库。然后它不再是空的,可以克隆。
答案 1 :(得分:1)
您可以在远程参考存在的情况下测试它。例如,init之后主引用尚不存在,因此在windows批处理脚本中它将是这样的:
git ls-remote -h --exit-code myrepo master > nul && (
git pull myrepo master
)