背景

GitHubというか、Gitのリポジトリのcommitが溜まってgit statusなどが遅くなりました。

そんなことに時間をとられるのが嫌になったので、思いきって更新履歴を初期化してみようと思い立ちました。

注意事項

積み上げてきた更新の歴史を無かったことにするので、チーム開発の場合はやめましょう。

手順

リモートのURLを確認します。

git remote -v

ローカルの.gitディレクトリを削除します。

rm -rf .git

続いて初期化します。

git init

たまに以下のようなメッセージが出力されるかもしれません。

hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint: 
hint: 	git config --global init.defaultBranch <name>
hint: 
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint: 
hint: 	git branch -m <name>

デフォルトのブランチ名がmasterになっているよという警告です。Black Lives Matterの影響だと思いますが、mainを使うのが定番になっています。そこで、以下のコマンドでmainに変更します。

git branch -m master main

素したら、ファイルをステージング環境に追加して、コミットします。

git add .
git commit -m "first commit"

リモートのURLをセットします。

git remote add origin 確認したリモートURL

リモートにPUSHします。オプションとして-fを使用して強制的にPUSHします。

git push -u origin main -f