1. 異常なエラー
シナリオ: RuoYi のコードを新しいウェアハウスに置きたいのですが、コードを入れた後、このウェアハウスには RuoYi の以前の投稿がすべて表示されます。これらの古い投稿が表示されないようにするにはどうすればよいですか?
場合によっては、プロジェクトのコードを新しいウェアハウスに配置する必要がある場合がありますが、新しいウェアハウスに古いコミット レコードを表示したくないことがあります。これは、古いコミットに機密情報が含まれているか、最新のコード履歴を新しいリポジトリに保持したいだけである可能性があります。
2、その理由
プロジェクトのコードを新しいウェアハウスに入れる必要がある場合、次のような状況が考えられます。
-
コードを安全に保つために、コードをパブリック リポジトリからプライベート リポジトリにコピーしたいと考えています。
-
プロジェクトのコードを開発者専用リポジトリからパブリック リポジトリにコピーして、他の人がそのコードを表示して使用できるようにしたいと考えています。
-
新しいリポジトリをよりクリーンで管理しやすくするために、プロジェクトのコードを古いリポジトリから新しいリポジトリにコピーし、最新のコミット履歴のみを保持したいと考えています。
このような場合、以下で説明するような手順を使用してタスクを完了できます。ただし、これらの操作を実行する前に、データの損失を防ぐために元のウェアハウスのコードをバックアップする必要があることに注意してください。同時に、変更を加える前に、Git の関連運用ガイドラインをよく読んで理解し、重要なデータを誤って削除または変更しないようにする必要もあります。
3. 解決策
ruoyi のコードを新しいウェアハウスに置きたいが、古いコミット レコードを表示したくない場合は、次の手順を使用できます。
-
新しい空のリポジトリを作成します。たとえば、GitHub または GitLab を使用して新しいリポジトリを作成します。
-
ruoyi のコードをローカルにクローンします。
-
ruoyi のローカル ウェアハウス ディレクトリを入力し、次のコマンドを使用してそれを新しいウェアハウスに変換します。
git init git remote add origin <新仓库的远程地址> git fetch --all git reset --hard origin/master
これらのコマンドは、ruoyi のローカル リポジトリを新しいリポジトリに変換し、新しいリモート リポジトリに関連付けます。
-
次のコマンドを使用して古いコミット レコードをクリアします。
git checkout --orphan latest_branch git add -A git commit -am "Initial commit" git branch -D master git branch -m master git push -f origin master
これらのコマンドは、新しいブランチlatest_branchを作成し、すべてのファイルをそのブランチに追加します。次に、新しいリポジトリの初期コミットとして機能する新しいコミットを作成します。最後に、古い master ブランチを削除し、latest_branch ブランチの名前を master ブランチに変更して、新しいリモート リポジトリに強制プッシュします。
こうすることで、古いコミットを表示せずに、プロジェクトのコードを新しいリポジトリに配置できます。
これらのコードは、古いコミット レコードを表示せずにプロジェクトのコードを新しいウェアハウスに配置するための Git コマンドです。以下に各コマンドの詳細な説明を示します。
-
git init
: Git リポジトリを初期化します。 -
git remote add origin <新仓库的远程地址>
: ローカル リポジトリを新しいリモート リポジトリに関連付けます。 -
git fetch --all
: リモート リポジトリからすべてのブランチとコミット レコードを取得します。 -
git reset --hard origin/master
: ローカル ウェアハウスのコードを、リモート ウェアハウスのマスター ブランチの最新の送信にリセットします。 -
git checkout --orphan latest_branch
: 新しいブランチlatest_branchを作成します。 -
git add -A
: すべてのファイルをステージング領域に追加します。 -
git commit -am "Initial commit"
: 新しいリポジトリの初期コミットとして新しいコミットを作成します。 -
git branch -D master
: 古い master ブランチを削除します。 -
git branch -m master
:latest_branch ブランチの名前を master ブランチに変更します。 -
git push -f origin master
: master ブランチを新しいリモート リポジトリに強制的にプッシュします。
これらのコマンドの目的は、プロジェクトのローカル リポジトリを新しいリポジトリに変換し、古いコミット レコードをクリアして、最初のコミットのみが新しいリポジトリに表示されるようにすることです。