私はプロジェクトのいくつかのgitリポジトリをフェッチするためにrepoを使用しようとしています。私はすべてのgitリポジトリはREPOがリモートアドレスとフォルダを連結するのはなぜですか?
をホストされている個人のgitサーバーを持っている私は、このコマンドを手動で実行する個々のレポクローンすることができるよ:
git clone [email protected]_repo_address:repo_a
をしかし、私は私が決めたさまざまなプロジェクトのために同じリポジトリを必要とするので、手動で複製する代わりにREPOを使用してください。
私はで動作するようにdefault.xmlのファイルを作成して、それには、次のものが含まれています
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="project"
fetch="[email protected]_repo_address"/>
<project name="repo_a" remote="project" revision="master" path="a"/>
<project name="repo_b" remote="project" revision="master" path="b"/>
<project name="repo_c" remote="project" revision="master" path="c"/>
</manifest>
私はgit-と呼ばれるリポジトリ上の同じgitのサーバ上でホストされているこのdefault.xmlのファイルを持っていますレポフェッチ。次のようにリポジトリを正常に初期化できます。
repo init -u [email protected]_repo_address:git-repo-fetch
これは正常に完了しました。私はレポ同期を実行したときしかし、私はエラーを取得する:
Fetching project repo_c
fatal: 'git-repo-fetch/[email protected]_repo_address/repo_c' does not appear to be a git repository
fatal: Could not read from remote repository.
そして、私の質問は、なぜレポをフェッチアドレス(my_repoする@ my_repo_address)と(のgit-レポフェッチ)XMLレポ名を連結しているのですか?
これを行うと、git-repo-fetch/my_repo @ my_repo_addressからフェッチしようとしていますが間違っています。
なぜ 'my_repo @ my_repo_address/git-repo-fetch'や' 'my_repo @ my_repo_address:port_number/git-repo-fetch''というURLはありませんか? ":"は次の 'git-repo-fetch'をポート番号のように見せます。 – ElpieKay
https://git-scm.com/book/id/v2/Git-on-the-Server-The-Protocolsでは、ssh urlは 'git clone ssh:// user @ server/project 'であることがわかりました。 git'または 'git clone user @ server:project.git'を実行します。以前の形式を試してください。 REPOは後者をサポートしていない可能性があります。 – ElpieKay
@ElpieKay 'ssh:// user @ server/project.git'を実行した場合、' fatal: '/project.git'はgitリポジトリではないようです。私がクローンできる唯一の方法は、 'git clone user @ server:project.git'を使用する場合です。 – m4l490n