具有 git 远程目录的条件



我正在编写一个 shell 脚本来自动更新 git 存储库的几个目录,我想忽略没有远程源可以从中提取的存储库。到目前为止,我有

if git remote 2>&1 >/dev/null; then

成功确定目录是否为 git 存储库。但是对于任何新的 git 存储库,

git remote

返回"origin"和错误状态 0。如何区分此类存储库和命令git pull将执行某些操作的存储库?

我可以使用

git remote show origin

但这将连接到源服务器(如果存在),我更喜欢快速和本地的命令。

您可以随时检查.git/config是否存在[remote "origin"]

#/bin/bash
if grep -Fxq '[remote "origin"]' .git/config
then
    echo "yes"
else
    echo "no"
fi

如果存储库具有,则文件夹.git/refs/remotes/origin必须存在。

test -d .git/refs/remotes/origin

将返回 0。

相关内容

  • 没有找到相关文章

最新更新