1. ホーム
  2. ギット

[解決済み】カレントディレクトリがGitリポジトリであるかどうかを確認する

2022-04-04 07:24:09

質問

zshでGitを管理するための一連のスクリプトを書いています。

カレントディレクトリがGitリポジトリであるかどうかを確認するにはどうすればよいですか?(Gitリポジトリでないときに、たくさんのコマンドを実行して、たくさんの fatal: Not a git repository のレスポンス)。

解決方法は?

bashの補完ファイルからコピーして、以下のような素朴な方法です。

# Copyright (C) 2006,2007 Shawn O. Pearce <[email protected]>
# Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/).
# Distributed under the GNU General Public License, version 2.0.

if [ -d .git ]; then
  echo .git;
else
  git rev-parse --git-dir 2> /dev/null;
fi;

それを関数でラップするか、スクリプトで使用することができます。

に適した1行の条件に凝縮されています。 バッシュ zsh

[ -d .git ] && echo .git || git rev-parse --git-dir > /dev/null 2>&1