リモート (ssh を使用) に git リポジトリが含まれていない場合でも、ローカル リポジトリをリモートにコピーし、scp を使用して手動でファイルをコピーしてから git クローンを実行することなく、リモート トラッキングをセットアップすることは可能ですか?
2 に答える
リモートでリポジトリをセットアップする必要がありますが、ファイルを手動でコピーしないでください。少なくとも、それで歴史を理解することはできません。
まず、リモートに ssh して次のようにします。
mkdir your_repo.git
cd your_repo.git
git init --bare
.git
ディレクトリ名は完全にオプションです。この--bare
オプションは、インデックスのないリポジトリを作成するため、プッシュ可能です。
次に、ローカル リポジトリに戻り、リモートを追加します。
git remote add remote_name user@remote.address:path/to/your_repo.git
準備万端です。今必要なことは次のとおりです。
git push remote_name
scp を使用して手動でファイルをコピーし、その後に git clone を実行せずに、ローカル リポジトリをリモートにコピーし、リモート トラッキングをセットアップすることは可能ですか?
ssh アクセスがあれば、リポジトリをコピーできます (はい、a を使用) が、 1 つのscp
ファイルのみをコピーします: a .git bundle
そこから、そのバンドルをリモート サーバー上でベア リポジトリ (クローン可能なリポジトリとして機能する 1 つのファイル) としてクローンし、それをリモート リポジトリとして使用できます (リモート ベア リポジトリにプッシュできます)。
空の裸のリポジトリに直接プッシュするよりも優れている点は、最初のコピーが 1 つのファイルであることです。大規模なリポジトリの場合、初期化が容易になり、ネットワークへの依存度が低くなります。