追跡するリポジトリを指定します。URLかローカルなファイルパスを使用可能です。
スーパープロジェクト(サブモジュールを持つリポジトリ)の場合、
ローカルなファイルパスか絶対パスが有効です。
有効なGitのURLの例を以下に示します。
- ssh://git@github.com/github/git.git
- git@github.com:github/git.git (SSHプロトコルの短縮記法)
- ssh://user@other.host.com/~/repos/R.git (ホームディレクトリのrepos/R.gitリポジトリへのアクセス)
- https://github.com/github/git.git
リポジトリがスーパープロジェクトの場合、サブモジュールをクローンする場所は、
リポジトリがベアかノンベアか(すなわち、ワーキングディレクトリがあるかどうか)によって異なります。
- スーパープロジェクトがベアの場合、サブモジュールの位置は、.gitmodulesから取得します。
- スーパープロジェクトがベアでない場合、 リポジトリには、サブモジュールがクローンされ、
適切にチェックアウトされているものとします。
したがって、サブモジュールは、.gitmodulesの情報ではなく、
${SUPER_PROJECT_URL}/${SUBMODULE}
のようなパスから直接取得します。
スーパープロジェクトへのローカルなURLやパスは、スーパープロジェクトがベアか、そうでないかを判別する
git rev-parse --is-bare-repositoryを使用する際に用います。
スーパプロジェクトへのリモートなURLは、そのURLの最後でベアかベアでないかを判別します。
- リモートURLが.gitで終わる場合、ノンベアリポジトリではないと想定されます。
- リモートURLが.gitで終わらない場合、ベアリポジトリと想定されます。