]> git.phdru.name Git - git-wiki.git/blobdiff - pep-git.txt
Split section "Undo" into subsections
[git-wiki.git] / pep-git.txt
index af9b34d12402e3479204ee7089b25cc1171fcb3b..081bd7612ad651ef78b41c91ebbc9700b81af692 100644 (file)
@@ -397,6 +397,10 @@ Undo
 ====
 
 Whatever you do, don't panic. Almost anything in git can be undone.
+
+git checkout: restore file's content
+------------------------------------
+
 ``git checkout``, for example, can be used to restore the content of
 file(s) to that one of a commit. Like this::
 
@@ -409,6 +413,9 @@ i.e. ``git checkout README`` restores README to the latest commit.
 (Do not use ``git checkout`` to view a content of a file in a commit,
 use ``git cat-file -p``; e.g. ``git cat-file -p HEAD~:path/to/README``).
 
+git reset: remove (non-pushed) commits
+--------------------------------------
+
 ``git reset`` moves the head of the current branch. The head can be
 moved to point to any commit but it's often used to remove a commit or
 a few (preferably, non-pushed ones) from the top of the branch - that
@@ -421,17 +428,29 @@ Default is mixed. ProGit `explains
 difference very clearly. Bare repositories don't have indices or
 working trees so in a bare repo only soft reset is possible.
 
+Unstaging
+'''''''''
+
 Mixed mode reset with a path or paths can be used to unstage changes -
-that is, to remove changes added with ``git add`` for committing. See
-`The Book <https://git-scm.com/book/en/Git-Basics-Undoing-Things>`_
-for details about unstaging and other undo tricks.
+that is, to remove from index changes added with ``git add`` for
+committing. See `The Book
+<https://git-scm.com/book/en/Git-Basics-Undoing-Things>`_ for details
+about unstaging and other undo tricks.
 
-TODO: describe undo strategies: git reflog, git revert.
-"Commit early, commit often".
+git reflog: reference log
+-------------------------
+
+git revert: revert a commit
+---------------------------
 
 How to undo a merge
 https://www.kernel.org/pub/software/scm/git/docs/howto/revert-a-faulty-merge.html
 
+One thing that cannot be undone
+-------------------------------
+
+"Commit early, commit often".
+
 
 Merge or rebase?
 ================