$ git log --decorate --oneline 050ea7f (HEAD -> master) 005 1d71318 004 cfb0c7a 003 608528b 002 a4431df 001
003,004のコミットを一つにしたい場合。
$ git rebase -i 608528b ←1つにしたいコミットの、一個前を指定。
エディタが開きます
pick cfb0c7a 003 pick 1d71318 004 pick 050ea7f 005
これを
pick cfb0c7a 003 squash 1d71318 004 ←うえのコミットにまとめるの意味。 pick 050ea7f 005
に書き換えて保存します。すると、もいちどコミットメッセージを入れる画面が開くので、メッセージを記載して再度保存します。
[detached HEAD f9f948f] 003 + 004 Date: Wed Dec 21 13:19:43 2016 +0900 1 file changed, 2 insertions(+) Successfully rebased and updated refs/heads/master.
$ git log --decorate --oneline 6fb9004 (HEAD -> master) 005 f9f948f 003 + 004 608528b 002 a4431df 001
コミットが一つに書き換えられました。書き換えた場所以降のコミットも、新たなコミットの扱いになってますね。
pick cfb0c7a 003 squash 1d71318 004 squash 050ea7f 005
など複数指定することもできます。直前のコミットにまとめる、という意味なのでこの場合は004,005のコミットを003にまとめることになります。
$ git checkout master $ git log --oneline --decorate 09a6a5a (HEAD -> master, dev3, dev) dev commit 9210c21 dev commit 3fc335e dev commit 0e46a27 (dev6, dev5, dev4, dev2) dev2 commit e97cefa dev2 commit c39d327 dev2 commit 366da11 master commit
$ git branch dev_dest dev_source $ git checkout -b dev_dest dev_source <-作成 & 移動
dev_sourceのリビジョンを元に、dev_destブランチを作成します。
$ git show dev4 commit 0e46a2730ab69f1a270ce92bee88fc9eda97538a ... 略 $ git checkout -b dev_dest 0e46a2730ab69f1a270ce92bee88fc9eda97538a
枝分かれのブランチっても、作成した瞬間はおなじ状態です。
$ git show dev4 commit 0e46a2730ab69f1a270ce92bee88fc9eda97538a .. $ git show dev_dest commit 0e46a2730ab69f1a270ce92bee88fc9eda97538a ..
単なる別名って感じでしょうか。
dev_#35_spike でチマチマコミットしていた内容を dev_#35 へまとめる対応
# git checkout dev_#35 <- チケット番号のイメージ # git merge --squash dev_#35_spike
> git checkout -b dev-spike > git branch -a * dev-spike master remotes/origin/HEAD -> origin/master remotes/origin/master > git push origin dev-spike:dev-spike1 To https://github.com/masatomix/hello.git * [new branch] dev-spike -> dev-spike1
git commit -a
> git branch * dev-spike master > git checkout master Switched to branch 'master' Your branch is up-to-date with 'origin/master'. > git branch -d dev-spike Deleted branch dev-spike (was c5776c5). > git branch * master
消えました
4. ブランチを削除する【チュートリアル1 ブランチを使ってみよう】 | サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ
この記事は
現在のアクセス:2672