一般社団法人 全国個人事業主支援協会

COLUMN コラム

  • git push –forceを使うケースについて

現場では実際どうなの?

force pushは、使う場面があるのか?

最近業務でGitLabでバージョン管理をしているプロジェクトで、Androidのgradleファイルをupdateして、commit & pushをしたのですが不要なバイナリファイルまで含まれていました。

コミットを書き換える必要が出てきました。revertを使う場面があったのですが、force pushでも良いとのことで試してみたところ問題なく動いていました。

 

今回はどのように対応したかご紹介します。

 

コミットをまず戻す。

git reset --mixed HEAD^

不要なバイナリファイルなどを削除する。

コミットして、force pushする。

git add path/to/your/needed/files
# もしくはまとめて
git add .

git commit -m "必要なファイルだけ再コミット"

 

force pushを対象のリモートブランチに行う。

git push origin branch-name --force

これを行うことによって、リモートのブランチの履歴を上書きして必要な3ファイルしか編集していない状態で、pushできました。

 

💡補足

  • git reset –mixed HEAD^ を使えば、コミット履歴だけを巻き戻して、ファイルはそのまま扱えます。

  • –force pushは他の人と作業している場合、注意が必要です。協業中なら –force-with-lease を検討。

The following two tabs change content below.

橋本 純一

スマホアプリのエンジニアしてます。

最新記事 by 橋本 純一 (全て見る)

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア