gitのhistoryを削除してpublic状態にしたい件

下記記事を執筆中に困ったことがあったので備忘として記載する。

やりたいこと

private状態で作成したリポジトリをpublicにしたい。

課題

publicにするにあたり、マスキングしたい箇所があったが、過去にマスキングし忘れてコミットしていた。
そのため、gitのhistoryからその箇所がみれてしまう。

対応

対応としては全ての履歴を削除して最新の情報だけを残す方針とした。

具体的には下記コマンドを実行した。

# 現在のディレクトリの状態を一時的に保存
git checkout --orphan newBranch
git add -A
git commit -m "Initial commit"
git branch -D main
git branch -m main
git push -f origin main

git checkout --orphan newBranch コマンドは Git で新しい “孤児” ブランチを作成するためのもの。この “孤児” ブランチは、既存のコミット履歴とは独立した、全く新しい履歴の開始点として作成される。

具体的に、git checkout --orphan newBranch コマンドを実行すると、以下のことが行われます:

  1. newBranch という名前の新しいブランチが作成される。
  2. この新しいブランチは、既存の任意のコミットから分岐するのではなく、履歴がまったくない状態として作成される。
  3. ただし、作業ディレクトリの内容はそのまま保持される。このため、新しいブランチで直接ファイルの変更を加えてコミットを作成することができる。
  4. 最初のコミットをこのブランチに追加すると、そのコミットがこのブランチの履歴の開始点となる。

“孤児” ブランチは、リポジトリの履歴をリセットして新しい履歴を開始する場面や、既存の履歴とは独立したブランチを作成する場面などで使用される。たとえば、あるプロジェクトの完全に新しいバージョンを開始する場合や、既存のコードベースを維持しながら全く新しい方向での開発を開始する場合などに有用。

chatGPT先生によるとこんな解説だった。勉強になった。

あとはgit hubの画面のsettings>Danger ZoneからChange repository visibilityを変更するだけで完了。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次