15 | | [[Image(http://media.pragprog.com/titles/tsgit/images/repo-shared-simple.png)]] |
| 15 | [[Image(http://media.pragprog.com/titles/tsgit/images/repo-shared-simple.png)]] |
| 16 | |
| 17 | == Editing history == |
| 18 | |
| 19 | Unlike with SVN, with git you can edit the history of the repository. This means changing previous commits, changing the order of commits, removing previous commits and whatever more. See [http://www-cs-students.stanford.edu/~blynn/gitmagic/ch05.html this chapter from the Git Magic resource] to see how you can edit history. |
| 20 | |
| 21 | A special mention is for rebasing. See the [http://gitready.com/intermediate/2009/01/31/intro-to-rebase.html explanation to rebasing on gitready.com]. Learn about it: it is likely that you will use it! |
| 22 | |
| 23 | {{{ |
| 24 | #!html |
| 25 | <div class="system-message"> |
| 26 | <p class="message">Editing history is destructive: you are actually destroying the paper trail. This can lead to problems when you are editing commits that are already in a shared repository. This will lead to all kinds of trouble. The rule of thumb is: you can edit history on changesets that have not left the privacy of your own home, but as soon as you shared them with others (or with other local trees) then you should perform non-destructive operations instead.</p></div> |
| 27 | }}} |
| 28 | |
| 29 | == The staging area == |