I've been using git for a little while and kind of get it, but I wanted to see what others recommend for setting up a development method for FuelPHP and being able to send pull requests.
Is this what I should do to get setup?
- Fork fuel core to my own repo
- Fork all default submodules that I may want to modify, change into my own repo
- Setup my new projects using my own repo forks and develop off those
- If my project ends up causing me to develop on or commit to any of the forked repos I would push my changes to my own repos, and from there I should be able to send a pull request to the main branch maintained by the Fuel team.
Is this correct?
If you look at the FuelPHP components, you have the "fuel" repository, which is your application, and the submodule repositories, which are part of the FuelPHP core code.
Assuming you have your own repositories somehwere (let's assume github), you clone the fuel/fuel repository locally. After that, change the "remote origin" to point to your (github) repo. You may add a second remote for the fuel/fuel repo, so you can easily pull changes in. Now you can pull and push the app to your own repo.
There is no need to fork the other repositories. They are part of the FuelPHP core, there is nothing in there that users should touch. So just install the submodules. If you need to update them (because a submodule points to a fixed commit), go into the submodule folder, checkout the desired branch, and do a "git pull" to pull the updates from the fuel repo.
If you now commit the app repo, the changed submodule reference will be committed too.
For contributions the best thing is to fork using github, don't use submodules but clone the repo's locally. Before you make changes, create a new feature branch of the current develop branch, make your changes in that feature branch, commit them, and send us a pull request.