LoginSignup
0
0

More than 1 year has passed since last update.

Git ~リベース編~ 続き

Last updated at Posted at 2021-05-21

リベースコマンドの使い方

※リベースの基本的な使い方は限定共有記事に記載してある

rebase
git rebase -i <コミットID>
git rebase -i HEAD~3
#’-i’はinteractiveの略で、対話的みたいな意味で話しながら変更するよみたいな意味

上のコマンド打った後には、ターミナルが起動するのだが、
変更したい対象のコミットの行に対して以下の変更をする。

’pick’となっているところを'edit'に変更してから保存すれば
実際に変更ができるようになる。

一連の流れはこんな感じ
git rebase -i HEAD~3
#と入力


edit hg3322 ヘッダー修正
pick tu8877 ファイルを追加
pick hg5544 READMEを編集
#editに変更してから保存


#変更が完了したら以下を実行
git commit --amend


#リベースが完了したら以下のコマンドを実行(これでリベース完了)
git rebase --continue

上の流れを'edit'と変更した箇所に対して
繰り返し行っていき、変更するコミットがなくなると終了する。
慣れていかないと使い方がムズイので
慣れていこう。。。

コミットをまとめる

コマンドの流れは上記といっしょで、pickとなっているところを
squashと変更して保存すればコミットをまとめることができる。

squash
git rebase -i HEAD~3
#と入力


squash hg3322 ヘッダー修正
squash tu8877 ファイルを追加
pick hg5544 READMEを編集
#squashに変更してから保存


#この後にコミットメッセージなどの内容を書き換えたりできるので、書き換えて終了するとコミットがまとまる

コミットを分割する

一連の流れは最初に似てる
git rebase -i HEAD~3
#と入力


pick hg3322 ヘッダー修正
pick tu8877 ファイルを追加
edit hg5544 READMEindex修正
#editに変更してから保存


git reset HEAD^
#'git reset'コマンドとはコミットを取り消して、ステージングしてない状態まで戻すコマンド
#'HEAD^'とはeditと変更したコミットのことを指している

#ここからそれぞれの変更をコミットしていく
git add README
git commit -m "README修正"
git add index.html
git commit -m "index.html修正"
git rebase --continue

これで分割が完了します。
実際のデータがどうやって動いているのかを理解してかないと
よくわからなくなるので、使って慣れるしかなさそうです:baby_tone5:
あと何よりも注意しなきゃいけないのが、
GitHubにpushしたコミットに対しては絶対に変更したらダメです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0