[解決済み] Git リポジトリで現在のコミットを唯一の(初期)コミットにする?
2022-03-22 11:42:05
質問
現在、ローカルのGitリポジトリを持っていて、それをGithubのリポジトリにプッシュしています。
ローカルリポジトリには ~10 コミットがあり、Github リポジトリはこれと同期した複製です。
そこで、ローカルの Git リポジトリからすべてのバージョン履歴を削除し、現在のリポジトリの内容が唯一のコミットとして表示されるようにします (したがって、リポジトリ内のファイルの古いバージョンは保存されません)。
そして、この変更をGithubにプッシュしたいと思います。
Gitのリベースについて調べてみましたが、これは特定のバージョンを削除するのに適しているようです。 もうひとつの解決策は、ローカルリポジトリを削除して新しいリポジトリを作成することですが、これはおそらく多くの作業を必要とするでしょう。
ETA: 追跡されていない特定のディレクトリ/ファイルがあります。可能であれば、これらのファイルの追跡解除を維持したいのですが。
解決方法は?
ここでは、ブルートフォースアプローチを紹介します。また、リポジトリの設定も削除されます。
備考 : リポジトリにサブモジュールがある場合、これは機能しません! もしサブモジュールを使っているのなら、例えば 対話型リベース
ステップ1:すべての履歴を削除する ( バックアップをとっていることを確認してください。 )
cat .git/config # note <github-uri>
rm -rf .git
ステップ2: Git リポジトリを現在のコンテンツだけで再構築する
git init
git add .
git commit -m "Initial commit"
ステップ3:GitHubにプッシュします。
git remote add origin <github-uri>
git push -u --force origin master
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] Git でファイルの一部分のみをコミットする
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】gitがローカルバージョンをリモートバージョンに置き換える
-
[解決済み】Gitのエラー。リモートリポジトリへの接続時に「Host Key Verification Failed」。
-
[解決済み】ERROR: Error cloning remote repo 'origin'.
-
[解決済み】なぜ「git commit」は私の変更を保存しないのですか?
-
[解決済み] GitLabのエラーを修正しました。"このプロジェクトでは保護されたブランチにコードをプッシュすることが許可されていません"?
-
[解決済み] git rebase: "error: cannot stat 'file': パーミッションが拒否されました"
-
[解決済み] Gitのプッシュを正しく強制する方法は?
-
[解決済み] すべてのgitコミットを1つにまとめるには?
-
[解決済み】githubのコミット履歴をすべて削除する方法は?重複
-
[解決済み】削除済みの大きなファイルがあるため、GitHubにプッシュできない。