I am trying to figure out the best workflow for working with a fork of an existing opensource project in Github. I want to take an existing project and make significant changes to it, in this case to port it to android and add specific android only functionality. I would like to satisfy the following:
- Be able to pull changes from their public repo to the new android port as the original code is updated.
- Be able to sumbit changes (via pull requests) to the orginal project when I fix bugs that aren't just applicable to the android port.
- Have a seperate renamed version of the project to make it clear that it is a Android port. I looked at renaming a fork and Github gave me huge warnings about doing this.
My initial thoughts are I would fork the original project then fork and rename my fork to give me the following repos:
original-author/projectA
nicstrong/projectA
nicstrong/projectA-android
This would allow me to work on my local repo local/projectA-android push changes to nicstrong/projectA-android. Then to update from the orginal project I could rebase nicstrong/projectA to the latest from original-author/projectA then fetch/merge from nicstrong/projectA to local/projectA-android.
My questions are:
- I am quite new to the whole Git thing. Does this seem like a good approach? Or is there a better workflow for handling this scenerio?
- How would I handle pushing from projectA-android back to nicstrong/projectA so I can setup pull request for the original project?