2

gitリモートリポジトリからブランチをデプロイするためのシェルスクリプトを書いています。

これは私が使用しているコマンドです:

   git clone -q --depth=1 https://my.repourl.com/git-repo.git /my/destination/folder -b develop

問題は、ブランチ(この場合は開発)が間違っている場合、マスターブランチ(?)を無視してプルすることです。このメッセージが表示されます:

  warning: Remote branch devel not found in upstream origin, using HEAD instead

指定されたブランチが見つからない場合は、gitを終了/終了したいだけです。そのためのフラグはありますか?または他の選択肢はありますか?git-archive何らかの理由で動作しませんでした。

4

2 に答える 2

1

twalberg コメントしているように、git ls-remote --heads https://my.repourl.com/git-repo.gitはリモート側にブランチが存在するかどうかを確認するために使用するコマンドです。

「特定のリモートリポジトリにリモートブランチが存在するかどうかを確認する方法」という質問には、他の可能性がリストされています。

git clone -n
git fetch
# parse git branch -r

テスト(bash)は次のようになります。

br=$(git ls-remote --heads https://my.repourl.com/git-repo.git|grep abranch)
if [[ "${br}" != "" ]]; then
  git clone -b aBranch ...
fi
于 2013-03-13T19:47:07.090 に答える