The Importance of Rebase

Written on April 12, 2017

Today I learned the importance of rebasing my branch of dw-free to the latest.

The process is quite easy. I learned the concept in IRC. Here’s the log.

(09:24:11 PM) srukle: Does anyone have any idea why this merge has conflicts?
(09:24:11 PM) srukle: https://github.com/dreamwidth/dw-free/pull/2008
(09:29:29 PM) geekosaur: usually means someone else changed the file in the meantime. git fetch and rebase?
(09:34:35 PM) geekosaur: hm, in fact what's on develop seems reordered compared to yours
(09:35:39 PM) geekosaur: no, not reordered, the property immediately before the one you added (userprops.mailencoding) was removed
(09:35:45 PM) geekosaur: along with some others
(09:35:52 PM) srukle: Oh boy.
(09:35:53 PM) geekosaur: so yes, you need to rebase
(09:36:27 PM) srukle: ty geekosaur
(09:39:40 PM) geekosaur: word to the wise, add the original as a remote "upstream" and rebase against it regularly to catch stuff like this. https://help.github.com/articles/syncing-a-fork/
(09:45:13 PM) srukle: I was able to rebase. Thank you! That was effortless and worthwhile. :)

If you want to rebase dw-free, the process is simple.

Go to your local dw-free git directory.

Enter the following commands:

git remote -v
git remote add upstream https://github.com/dreamwidth/dw-free
git remote -v

Notice how you added the dw-free remote branch.

Now you must fetch the changes.

git fetch upstream

Depending on your version of Git, you should be fine. But you may also want to merge the branchs.

To do this, simply check out master and merge.

git checkout master
git merge upstream

You should now be ready to send a PR to dw-free for review.


Take me home.

Check out the archive.