gitで途中のコミットを削除したい場合はリベースを使おう
2024.08.03
おはようございます.gitで途中のコミットを削除したい場合はリベースを使おうと言うことでその手順を書いていきます.まず事前にブランチを切っていて、そのブランチに3コミットを行っていてコミットの先頭にいると過程して話を進めていきます.
まず最新のコミットから3つ前までのどれかを削除したい場合、下記のコマンドを打ちます.
git rebase -i HEAD~3
コマンドを打つと下記の画面がターミナルに現れます.俗に言うvi編集モードです.
pick abcdef1 コミットメッセージ1
pick abcdef2 コミットメッセージ2
pick abcdef3 コミットメッセージ3
次にvi操作を行い削除したいコミットを以下のように書き換えます.例では真ん中のコミットを削除したいのでpickからdropに置き換えました.
pick abcdef1 コミットメッセージ1
drop abcdef2 コミットメッセージ2
pick abcdef3 コミットメッセージ3
置き換え保存します.この時に衝突が発生した場合は衝突が発生したファイルを修正します.その後、次のコマンドを打ち現在のブランチに取り込みます.
git add <ファイル名>
git rebase --continue
尚、リモートにプルリクエストしている場合は強制上書きを行いたい場合は下記のコマンドを行います.
※強制上書きは危ないですので、詳しいひとに事前に連絡を行いOKが出たときにだけ行いましょう.
git push --force origin リモートブランチ名
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
continue, drop, drop abcdef, force origin リモートブランチ, git, git add, git push, git rebase, pick, pick abcdef, vi操作, コマンド, コミット, ターミナル, ブランチ, プル, リベース, リモート, 強制上書き, 衝突,
(github)=>{git push -u ギットハブ master;}
2020.05.27
github(ギットハブ)を知っている方はIT業界では9割近いかなとか思っているのですが・・・どうでしょうか?名前は聞いたことが有るけれど触ったことはないという方も地方ではいらっしゃると思います。ちなみに自分も名前だけ知っているような状態でした。そもそもソロみたいな感じでコード書いている人はgit(ギット)だけで十分ですし、ソースコードの管理すらしない人もいるかと思います。ひとりでギットハブを使う方は特にブランチ関係は覚える必要はないかなと思います。
git add .
git commit -m "comment..."
git remote add origin https://github.com/test.git
git push -u origin master
なので初回はこんな感じで打ち込みます。3行目でoriginと打ち込んでいると思いますがこれは、『https://github.com/test.git』をoriginとして認識させるよという事になります。originじゃなくても良いです。originじゃない場合、『push』のコマンド行を任意の文字に置き換える必要があります。
尚、ひとりで使っていてPCが壊れた時に『Pull』が必要になるかと思います。それ以外はブランチもぷるも必要ない気がします。
※gitにはいろいろなコマンドオプションがあるようですね…。
例えば下記のようなコマンドを打つと『git add .』を省略することが可能だとか、どういう意味かは割愛します。必ずぐぐってくださいね。
git commit -a -m "comment..."
githubではhtmlやjsは使用できるので無料でサイトを構築することも可能です。ポートフォリオとしてのページをgithubで作っている人も多いみたいです。
『ソースコード管理する事自体が面倒くさい‥な』と思っている方は考え直してください、ソースが消えちゃった事やチームで何かを作ったりレビューしたりするときの事を考えてくださいな。
じぶんの説明がわからない方はこちらに完結に説明している動画がありますので参照くださいね(´・ω・`)
追記:github強制プッシュを無効にする方法
https://next.rikunabi.com/journal/20170516_t12_iq/
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
-m, 3, 9, Add, com, comment, commit, git, github, https, IT, master, origin, push, quot, remote, test, u', キット, ギットハブ, コード, こと, これ, ソース, ソロ, ひとり, ブランチ, 人, 初回, 名前, 地方, 必要, 感じ, 方, 業界, 状態, 管理, 自分, 関係,