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操作, コマンド, コミット, ターミナル, ブランチ, プル, リベース, リモート, 強制上書き, 衝突,
過去のリモートワークと違うところ。 #IT開発
2023.01.22
おはようございます、日曜日の朝。明日は仕事。
さて、今日は過去のリモートワークと違うところを書いていきます。自分は過去にリモートワークを2回経験しています。今回で3回目のリモートワークを行なっています。過去のリモートワークとの違いはgitというバージョン管理を使っているということ、そしてソースレビューがあるという事です。
今までのリモートワークはレビューもなく、一人称で完結という事でしたが一般的なIT企業に巡り合うことが出来たと思っています。因みに、gitのコミットやプッシュ、プル、マージなどは何となく出来ていたのですが、まだ慣れない事が幾分あります。
実践で出来ないことは、自分でgithubやgitlabにアカウントを開設してどういう振る舞いになるのか、試すことが一番良いかなと思っています。
因みにgitの練習を行い方はこういうサイトもありますので試してみてはいかがでしょうか?
https://learngitbranching.js.org/?NODEMO=&locale=ja
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
git, github, gitlab, it企業, ja, locale, アカウント, コミット, ソースレビュー, バージョン管理, プッシュ, プル, マージ, リモートワーク, レビュー, 一人称, 完結, 実践, 日曜日, 練習,
gitとかgithubとかgitlabを一通り勉強して
2019.06.02
gitとかgithubとかgitlabを一通り勉強して
githubやgitlabは遠隔でプロジェクト組んで開発する人以外には
必要ないような気がします。
確かにGUIでほぼ面倒な手順は消えてなくなります。
gitとは何かバージョン管理と言われます、
簡単に言えばファイルの世代管理です。
githubやgitlabは何か、リポジトリ管理です。
リポジトリ管理とはなにか、簡単に言えば
バージョン管理を集約したものを管理するものと思ってください。
リポジトリというものを管理したいディレクトリの配下に
置くことでその中のファイルはコマンド打てば
管理下に置くことが出来、世代管理が可能になるということ
ただ、それだけの事です。
ローカルで管理していたものをリモートに置く場合、
プッシュ=アップロード。ダウンロードしたい場合は
プルという事。管理したいファイルはアッドする。
コミットをした時点でファイル履歴となる等など…。
複数人で開発する場合は
グールプを作りその中にユーザを作成し
ローカルからリモートへ接続を行えば良い…
これぐらい覚えとけば良いかなと後はブランチ機能なども
ありますが、この機能を使用すると複雑怪奇になりそうな気がします。
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
git, github, gitlab, GUI, アッド, アップロード, こと, コマンド, コミット, それだけ, ダウンロード, ディレクトリ, バージョン, ファイル, プッシュ, プル, プロジェクト, もの, リポジトリ, リモート, ローカル, 世代, 中, 事, 人, 勉強, 可能, 場合, 手順, 気, 管理, 簡単, 遠隔, 配下, 開発, 集約, 面倒,