Monday, 14 November 2016

git squash



31. How to do a git squash?
e.g. If I want to squash the two commits on HEAD.
(a) git rebase -i HEAD~2
git will bring all a editor with the following message:
pick 8157e2b Test 1.
pick 05532ed Test 2.

(b) change the second 'pick' to 'squash', which means squash
commit 2 (Test2) into commit 1 (Test1)

(c) Save and quite.  git will combine the two commits together and
bring up a new editor. Like:
# This is a combination of 2 commits.
# The first commit's message is:

Test 1.

# This is the 2nd commit message:

Test 2.
 Edit the message again and save and quite. Like
Test1 && Test2

Successfully rebased and updated refs/heads/master.

If you do a 'git log' after the combination, you will find
the new combined log as follows:

commit 77fd2899a713aefcb0d3369fe17d12d9552e5cec
Author: Tony Jiang <jtony@ca.ibm.com>
Date:   Mon Nov 14 20:03:34 2016 -0600

    Test 1 && Test 2.



No comments:

Post a Comment