次のコマンドを使用して、あるリポジトリ( ) のコンテンツのみrepo1
を別の既存のリポジトリ ( ) に移動しようとしています。repo2
git clone repo1
git clone repo2
cd repo1
git remote rm origin
git remote add repo1
git push
しかし、それは機能していません。同様の投稿を確認しましたが、コンテンツではなくフォルダーを移動しているものしか見つかりませんでした。
次のコマンドを使用して、あるリポジトリ( ) のコンテンツのみrepo1
を別の既存のリポジトリ ( ) に移動しようとしています。repo2
git clone repo1
git clone repo2
cd repo1
git remote rm origin
git remote add repo1
git push
しかし、それは機能していません。同様の投稿を確認しましたが、コンテンツではなくフォルダーを移動しているものしか見つかりませんでした。
ここで完全に説明されています https://www.smashingmagazine.com/2014/05/moving-git-repository-new-server/
まず、すべてのリモート ブランチとタグを既存のリポジトリからローカル インデックスにフェッチする必要があります。
git fetch origin
ローカル コピーを作成する必要がある不足しているブランチを確認できます。
git branch -a
新しいリポジトリの SSH クローン URL を使用して、既存のローカル リポジトリに新しいリモートを作成しましょう。
git remote add new-origin git@github.com:manakor/manascope.git
これで、すべてのローカル ブランチとタグを new-origin という名前の新しいリモートにプッシュする準備が整いました。
git push --all new-origin
git push --tags new-origin
new-origin をデフォルトのリモートにしましょう:
git remote rm origin
new-origin の名前を origin に変更して、それがデフォルトのリモートになるようにします。
git remote rename new-origin origin
近くにいるようです。提出の単なるタイプミスではないと仮定すると、ステップ 3cd repo2
は repo1 の代わりにあるはずです。git pull
そしてステップ6は押してはいけません。作り直されたリスト:
git clone repo1
git clone repo2
cd repo2
git remote rm origin
git remote add repo1
git pull
git remote rm repo1
git remote add newremote
ここには多くの解決策があります。過去に私のために働いた簡単なワンライナーは、 --mirror オプションを使用することです。最初にコピーするリポジトリに移動します。次に、新しいレポが既にセットアップされていると仮定して、クローン リンクを使用します。それだけです。すべての履歴が新しいリポジトリにコピーされます。
cd repoOne
git --mirror linktonewrepo.git
ここには複雑な答えがたくさんあります。ただし、ブランチの保存に関心がない場合は、リモートオリジンをリセットし、アップストリームを設定してプッシュするだけです。
これは、すべてのコミット履歴を保持するために機能しました。
cd <location of local repo.>
git remote set-url origin <url>
git push -u origin master