Again, there is documentation on how to do get your forked repository in-sync with the master repository, but I'm still trying to feel my way about how to do this in Eclipse with egit. So far, here are some sets of instructions that seem to work with Eclipse Indigo 3.7 (but I'm still feeling my way around though, so I could be wrong).
So I'm assuming that you've forked a repository on Github, and you've successfully used the egit defaults to make a local repository based on your fork. So in the Git Repository Exploring perspective of Eclipse, you go into your repository.
- In the Remotes section, right-click and choose "Create Remote"
- Set the name to "upstream" and configure it for fetch
- the URI should be set to the git URI of the original master repository on Github that you forked
- "Add" a RefSpec
- the source should be master, and the destination should then be automatically filled in to refs/remotes/upstream/master
- Save your changes
- In the Remotes section, expand the upstream configuration, right-click the green incoming arrow, and choose Fetch
- After fetching, I think the latest changes are now available in your local repository, so now you want to apply those changes to your local branch, and then push them out to your forked repository
- So make sure you have your local master checked out or whatever
- Right-click your repository and choose Merge...
- Merge in from upstream/master
- And then you can push everything back into your forked repository on Github with a simple Right-click on your repository and Push.
It looks like egit might also support some sort of special Upstream configuration or something, so that egit will automatically track the master version of a fork, but it looks like the forked repository needs to be configured a special way, and I don't know how to get Github to do this. I imagine if you dig into egit's property files, there'll be some way to enable it, but I can't figure it out yet.
Thank You.
ReplyDeleteThis post made me happy.
me too!
ReplyDeletefor step 3, how do you apply the changes to your local branch? thanks
ReplyDeleteStep 3 simply describes what comes next. Steps 4-6 are what you need to do to actually apply the changes to your local branch.
ReplyDeleteThanks for the clear explanation.
ReplyDeleteI just did this on Juno. Step 2 is now incorporated in step 1.5.