This shows you the differences between two versions of the page.
Previous revisionLast revision | |||
— | fuss:git [2017/12/29 17:24] – [Clean up Fork and Restart from Upstream] office | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Generate Patches ====== | ||
+ | |||
+ | <code bash> | ||
+ | git add some_file | ||
+ | git commit -m " | ||
+ | git format-patch -1 | ||
+ | 0001-Commit-message-that-will-show-in-patch.patch | ||
+ | </ | ||
+ | |||
+ | ====== Undo Last Commit ====== | ||
+ | |||
+ | Suppose the following incremental patches from '' | ||
+ | |||
+ | < | ||
+ | A - B - C | ||
+ | ^ | ||
+ | | | ||
+ | master | ||
+ | </ | ||
+ | |||
+ | to delete '' | ||
+ | |||
+ | < | ||
+ | git reset --hard HEAD~1 | ||
+ | </ | ||
+ | |||
+ | the result is the following: | ||
+ | |||
+ | < | ||
+ | A - B | ||
+ | ^ | ||
+ | | | ||
+ | master | ||
+ | </ | ||
+ | |||
+ | another '' | ||
+ | |||
+ | < | ||
+ | A | ||
+ | ^ | ||
+ | | | ||
+ | master | ||
+ | </ | ||
+ | |||
+ | ====== Roll Back to Commit ID ====== | ||
+ | |||
+ | <code bash> | ||
+ | git reset --hard e484904 | ||
+ | </ | ||
+ | |||
+ | or for SHA: | ||
+ | |||
+ | <code bash> | ||
+ | git reset --hard 3f786850e387550fdab836ed7e6dc881de23001b | ||
+ | </ | ||
+ | |||
+ | ====== Rebase ====== | ||
+ | |||
+ | Rebasing is good when local changes are not important enough to be merged into the main development branch. The procedure is as follows: | ||
+ | |||
+ | * Clone the repository and switch to your new branch, let's say the new branch should be '' | ||
+ | |||
+ | <code bash> | ||
+ | git clone https:// | ||
+ | </ | ||
+ | |||
+ | * Next, you can make the changes to the code, and apply any patches you wish. | ||
+ | * Issue: | ||
+ | |||
+ | <code bash> | ||
+ | git config --global --bool pull.rebase true | ||
+ | </ | ||
+ | to globally turn on rebasing. | ||
+ | |||
+ | * On the next pull, with '' | ||
+ | |||
+ | ====== Set Name and E-mail ====== | ||
+ | |||
+ | <code bash> | ||
+ | git config --global user.name "John Doe" | ||
+ | git config --global user.email john@example.org | ||
+ | </ | ||
+ | |||
+ | ====== Ignore Local Changes ====== | ||
+ | |||
+ | If you get the following error when doing a '' | ||
+ | |||
+ | < | ||
+ | Please, commit your changes or stash them before you can merge. | ||
+ | </ | ||
+ | |||
+ | and you do not want to stash the changes, simply issue: | ||
+ | |||
+ | <code bash> | ||
+ | git reset --hard | ||
+ | git pull | ||
+ | </ | ||
+ | |||
+ | to overwrite any local changes. | ||
+ | |||