Squashing commits: Difference between revisions
From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
(Created page with "= Squashing Commits of a branch to make things tidy = <nowiki>[nori:hello_world jimg$] git log commit 48a898d0830fbf8a795204993bbd572b83e6557c (HEAD -> hack, origin/hack) Me...") |
mNo edit summary |
||
Line 38: | Line 38: | ||
Initial commit</nowiki> | Initial commit</nowiki> | ||
Use 'git rebase --interactive f1302d5f3' | |||
Which will show (in the Git EDITOR): | |||
<nowiki>pick e623997 Added an error. | |||
pick 19c0052 Comments | |||
pick de1b5fe Namespace finagling | |||
pick 1037dfa Namespace finaggling | |||
# Rebase f1302d5..48a898d onto f1302d5 (4 commands) | |||
# | |||
# Commands: | |||
# p, pick = use commit | |||
# r, reword = use commit, but edit the commit message | |||
# e, edit = use commit, but stop for amending | |||
# s, squash = use commit, but meld into previous commit | |||
# f, fixup = like "squash", but discard this commit's log message | |||
# x, exec = run command (the rest of the line) using shell | |||
# d, drop = remove commit | |||
# | |||
# These lines can be re-ordered; they are executed from top to bottom. | |||
# | |||
# If you remove a line here THAT COMMIT WILL BE LOST. | |||
# | |||
# However, if you remove everything, the rebase will be aborted. | |||
# | |||
# Note that empty commits are commented out</nowiki> | |||
Change the 'pick' word to 'squash' | |||
<nowiki>pick e623997 Added an error. | |||
squash 19c0052 Comments | |||
squash de1b5fe Namespace finagling</nowiki> | |||
Now we have: | |||
<nowiki>[nori:hello_world jimg$] git log | |||
commit 94eba834437908e738f80c80403d2e95a6f11fe2 (HEAD -> hack) | |||
Author: James Gallagher <jgallagher@opendap.org> | |||
Date: Wed Sep 30 12:37:40 2020 -0600 | |||
Added an error. | |||
commit f1302d5f3549937ddc770b06e7316fc11e5079ae (origin/master, master) | |||
Author: James Gallagher <jgallagher@opendap.org> | |||
Date: Wed Sep 30 12:32:19 2020 -0600 | |||
Initial commit | |||
[nori:hello_world jimg$]</nowiki> | |||
But... This won't work to push to GitHub because git will want us to pull first. To for the push, don't use `--force` but instead use this magic: 'git push origin +hack'. Yes, the magic is to include the word 'origin' and to use a plus sign, '+hack'. |
Revision as of 19:06, 30 September 2020
Squashing Commits of a branch to make things tidy
[nori:hello_world jimg$] git log commit 48a898d0830fbf8a795204993bbd572b83e6557c (HEAD -> hack, origin/hack) Merge: de1b5fe 1037dfa Author: James Gallagher <jgallagher@opendap.org> Date: Wed Sep 30 12:40:34 2020 -0600 Merge branch 'hack' of https://github.com/jgallagher59701/hello into hack commit de1b5fee05159d4a0ba35a189f12e94ba71dfe70 Author: James Gallagher <jgallagher@opendap.org> Date: Wed Sep 30 12:39:13 2020 -0600 Namespace finagling commit 1037dfa76b3bd8785b79f6f7a973209692f125a3 Author: James Gallagher <jgallagher@opendap.org> Date: Wed Sep 30 12:39:13 2020 -0600 Namespace finaggling commit 19c0052fea1162145d4ae483fc7cf07e61a244ab Author: James Gallagher <jgallagher@opendap.org> Date: Wed Sep 30 12:38:08 2020 -0600 Comments commit e6239975aaa6bf18d44a113873100df48d46087e Author: James Gallagher <jgallagher@opendap.org> Date: Wed Sep 30 12:37:40 2020 -0600 Added an error. commit f1302d5f3549937ddc770b06e7316fc11e5079ae (origin/master, master) Author: James Gallagher <jgallagher@opendap.org> Date: Wed Sep 30 12:32:19 2020 -0600 Initial commit
Use 'git rebase --interactive f1302d5f3'
Which will show (in the Git EDITOR):
pick e623997 Added an error. pick 19c0052 Comments pick de1b5fe Namespace finagling pick 1037dfa Namespace finaggling # Rebase f1302d5..48a898d onto f1302d5 (4 commands) # # Commands: # p, pick = use commit # r, reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup = like "squash", but discard this commit's log message # x, exec = run command (the rest of the line) using shell # d, drop = remove commit # # These lines can be re-ordered; they are executed from top to bottom. # # If you remove a line here THAT COMMIT WILL BE LOST. # # However, if you remove everything, the rebase will be aborted. # # Note that empty commits are commented out
Change the 'pick' word to 'squash'
pick e623997 Added an error. squash 19c0052 Comments squash de1b5fe Namespace finagling
Now we have:
[nori:hello_world jimg$] git log commit 94eba834437908e738f80c80403d2e95a6f11fe2 (HEAD -> hack) Author: James Gallagher <jgallagher@opendap.org> Date: Wed Sep 30 12:37:40 2020 -0600 Added an error. commit f1302d5f3549937ddc770b06e7316fc11e5079ae (origin/master, master) Author: James Gallagher <jgallagher@opendap.org> Date: Wed Sep 30 12:32:19 2020 -0600 Initial commit [nori:hello_world jimg$]
But... This won't work to push to GitHub because git will want us to pull first. To for the push, don't use `--force` but instead use this magic: 'git push origin +hack'. Yes, the magic is to include the word 'origin' and to use a plus sign, '+hack'.