読者です 読者をやめる 読者になる 読者になる

SourceTreeでサブモジュールの作成に失敗する

やりたい

SourceTree(v2.3.1)でサブモジュールを作りたい。

できない

以下のようなエラーが出る。

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree submodule add -f https://username@github.com/organization/repo.git hoge/fuga 
Cloning into 'hoge/fuga'...
warning: templates not found /usr/local/git/share/git-core/templates
fatal: could not read Password for 'https://username@github.com': Device not configured
fatal: clone of 'https://username@github.com/organization/repo.git' into submodule path 'hoge/fuga' failed
Completed with errors, see above

しらべる

SourceTreeのバグっぽい。

Submodule with different user fails to clone/push with Sourcetree - Atlassian Answers

自分の持ち物じゃないリポジトリをSourceTreeでサブモジュールにしようとするとエラーを吐くようだ。

確かに会社での作業だったので、
- (会社のOrganizationが持つ)Aリポジトリ に、
- (会社のOrganizationが持つ)Bリポジトリ を、
- 自分のユーザ
サブモジュールとして追加しようとしていたから、この現象だと思う。

かいけつ

SourceTreeのバグなので、コマンドで実行する。

git submodule add https://github.com/organization/repo.git hoge/fuga

できた。

追加さえできれば、SourceTreeのサブモジュールの欄に出てくるし、サブモジュールのコミット履歴ウィンドウも開ける。