herohoroブログ

Remoteにゴミpushをしてしまったらlocalから元のcommit状態に戻そう



🔄   2024-05-01

本番用リポ、実験用リポ、ブログとして使っているリポ。。。

同じコードを管理しているリポがたくさん作っています。

なぜかというと、ブログで使っているリポは記事データをたくさん抱えているため、安易にNotionAPIを動かしたもんには、あっという間にlimitに達します。

私のメンテナンスは、1日10時間ひたすら行うのでlimitが解除されるまでの時間が惜しいです。

待つ時間があるのなら、なるべくいろんなアプローチを試して可能性をつぶしていきたいので、使い分けています。

  1. 実験用リポ:サンプル記事+改造前の状態
  2. 本番用リポ:実験で成功した部分のみで作って公開する
  3. ブログ用リポ:本番用のリポから取り込んで改造部分も考慮して手直しする

ローカルで実験用リポだと思ってたpush先が、本番用リポだった…という悲しい出来事が起きました。今まで清潔に保っていたリポ。とてもショックでした。。。。

調べてみたところ、ローカル上でリモートのpush履歴を修正する方法があることを知ったので、ここに記録しておきます⭐️

1. ローカルで戻りたいcommitに位置を移動させる

git reset --hard b837e7c93bd
commit ハッシュ:b837e7c93bdとしてみます

2. GitHubサイトでforceの許可を一時的にする

settingタブから左サイドメニューのbranchを選びます

image block

branchページを下の方までスクロールするとforceの許可項目があるので✅

image block

3. ローカルからforceする

git push origin main --force
【例】リモート名:origin、ブランチ名:main

すると、間違えてpushしてしまったcommitが消えます✌️

Twitterでは更新のお知らせを随時行っています

興味ある方はLet'sフォロー★

▼ この記事に興味があったら同じタグから関連記事をのぞいてみてね

Buy Me A Coffee

新着記事を通知したい??


RSSリーダーにatomのリンクを登録すると通知が行くよ🐌

https://herohoro.com/atom

やってみてね(*´ω`*)(*´ω`*)

Twitter Timeline


フォロー大歓迎\(^o^)/