11

リポジトリ アカウントを持たない Teamcity ビルド エージェントによってデプロイされる大規模なプロジェクトでgit スーパープロジェクト パターンを使用していますが、リポジトリは匿名のクローン作成を許可するように設定されています。http://このため、git url ではなく urlを使用してサブモジュールをセットアップしました。これに関する問題は、リポジトリが http プッシュを拒否することです。

Total 0 (delta 0), reused 0 (delta 0)
error: RPC failed; result=22, HTTP code = 401
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

そのため、ブランチを切り替えるときにサブモジュールを更新するたびに、 URLgit remote add-url --pushを追加する必要があります。git://

http://スーパープロジェクトのサブモジュールを、プル用のgit://URL とプッシュ用の URL を既に使用するように設定する方法はありますか?

4

1 に答える 1

6

LibreOffice プロジェクトはサブモジュールも使用しており、以下が含まれます。

デフォルトでは、サブモジュールのリポジトリは「切り離された HEAD」と呼ばれる状態にあります。これは、チェックアウトされたコミット (スーパー プロジェクト (コア) が必要とするもの) がローカル ブランチ名に関連付けられていないことを意味します。

作業中のサブモジュールに正しい pushurl を追加することを忘れないでください。そうしないと、コミットできなくなります。

$ editor .git/modules/submodule/config

そして、セクション[remote "origin"]に次を追加します。

pushurl = ssh://logerrit/submodule

( soulseekahコメントに似ています) (あなたの場合、git://アドレスを使用してください)

(サブモジュール内で)介して行うこともできます

git config remote.origin.pushurl git://...

そうしないと、このプロジェクトに示されているように、次のようになります。

fatal: The remote end hung up unexpectedly
于 2013-04-18T11:28:07.447 に答える