私たちのオフィスでは、プライベートBitbucketサーバがあります。当然のことながら、各開発者はアカウントを持っています。先日、メインリポジトリに最初のサブモジュールを追加しました。しかし、このプロセスには問題がありませんでした。git - 時には "git" - ユーザアカウントではなくサブモジュールのアカウント
特に私が説明できないことの1つは、サブモジュールをクローンするときにユーザーのアカウントを使用するようにgitに指示する方法です。私たちの内部Bitbucketサーバはbitbucket:7990
と呼ばれ、http
をクローンしているとします。サブモジュールのURLを追加する適切な方法はhttp://[email protected]:7990/scm/project/repo.git
ではありませんか?
ほとんどのマシンで動作していたので、私はそれほど気にしませんでした。しかし、私たちの開発者のマシンでは、gitはアカウント名として "git"を使用しようとしました。明らかに失敗するのは、アカウントがシステムに存在しないためです。なぜそれはクローンに開発者自身のアカウントを使用していないのですか?他の開発者のマシンと同じように?
私は.git/config
の違いを見つけることができませんでした。結局のところ、アカウント名を手動でサブモジュールのURLのconfig
-fileに挿入することで解決しました。しかし、次回に別のサブモジュールを追加したときに問題が再現する恐れがあります。
サブモジュールの取り扱いが間違っていますか?または私は行方不明のいくつかのトリックですか?
http
-クローニングをssh
-クローニングに置き換えましたが、それでも "git"アカウントでログインしようとしました。私自身のconfig
-fileはgit
-accountを使用しています。私もプロトコルを削除しようとしましたが、URLの:
部分が意味を変えてしまい、カスタムSSHポートを指定する方法がわかりません(ポート22にログインできなかったことに注意してください)。
さらに、私たちはWindows上にあり、私たちはメインGUIとしてSmartGITを使用しています。しかし、gitコマンドを直接使うと、同じ問題が残っていました。