Browse Source

Revert "reset: add an example of how to split a commit into two"

This reverts commit 7326451bedaa67d29afe02184b166e28d9393c91; a
better rewrite will be queued separately.
maint
Junio C Hamano 8 years ago
parent
commit
ae86372fcd
  1. 38
      Documentation/git-reset.txt

38
Documentation/git-reset.txt

@ -292,44 +292,6 @@ $ git reset --keep start <3> @@ -292,44 +292,6 @@ $ git reset --keep start <3>
<3> But you can use "reset --keep" to remove the unwanted commit after
you switched to "branch2".

Split a commit into two::
+
Suppose that you have created a commit, but later decide that you want to break
apart the changes into two logical chunks and commit each separately. You want
to include part of the original commit into the first commit, while including
the remainder in a second commit. You can use git reset to rewind the history
without changing the index, and then use git add -p to interactively select
which hunks to put into the first commit.
+
------------
$ git reset HEAD^ <1>
$ git add -p <2>
$ git diff --cached <3>
$ git commit -c HEAD@{1} <4>
...
$ git add ... <5>
$ git diff --cached <6>
$ git commit ... <7>
------------
+
<1> First, reset the history back one commit so that we remove the original
commit, but leave the working tree with all the changes.
<2> Now, interactively select hunks to add to a new commit using git add -p.
This will ask for each hunk separately and you can use simple commands like
"yes, include", "no don't include" or even "edit".
<3> Once satisfied with the hunks, you should verify that it is what you
expected by using git diff --cached to show all changes in the index.
<4> Next, commit the changes stored in the index. "-c" specifies to load the
editor with a commit message from a previous commit so that you can re-use the
original commit message. HEAD@{1} is special notation to reference what
HEAD used to be prior to the reset command. See linkgit:git-reflog[1] for
more details.
<5> Now you've created the first commit, and can repeat steps 2-4 as often as
you like to break the work into any number of commits. Here we show a second
step which simply adds the remaining changes.
<6> Then check again that the changes are what you expected to add.
<7> And finally commit the remaining changes.


DISCUSSION
----------

Loading…
Cancel
Save