-
Fork a repo luiscoms/release.
-
Clone the release project to your local machine (username - your Github user account name.):
$ git clone [email protected]:USERNAME/release.git
- Configure remotes:
$ cd release
$ git remote add upstream [email protected]:luiscoms/release.git
- Create a branch for new check:
$ git checkout -b my-new-check
-
Develop on my-new-check branch only, but Do not merge my-new-check branch to the your master (as it should stay equal to upstream master)!!
-
Commit changes to my-new-check branch:
$ git add .
$ git commit -m "commit message"
- Push branch to GitHub, to allow your mentor to review your code:
$ git push origin my-new-check
-
Repeat steps 5-7 till development is complete.
-
Fetch upstream changes that were done by other contributors:
$ git fetch upstream
- Update local master:
$ git checkout master
$ git pull upstream master
ATTENTION: any time you lost of track of your code - launch "gitk --all" in source folder, UI application come up that will show all branches and history in pretty view, explanation.
- Rebase my-new-check branch on top of the upstream master:
$ git checkout my-new-check
$ git rebase master
- In the process of the rebase, it may discover conflicts. In that case it will stop and allow you to fix the conflicts. After fixing conflicts, use git add . to update the index with those contents, and then just run:
$ git rebase --continue
- Push branch to GitHub (with all your final changes and actual code of project): We forcing changes to your issue branch(our sand box) is not common branch, and rebasing means recreation of commits so no way to push without force. NEVER force to common branch.
$ git push origin my-new-check --force
-
Created build for testing and send it to any mentor for testing.
-
Only after all testing is done - Send a Pull Request. Attention: Please recheck that in your pull request you send only your changes, and no other changes!! Check it by command:
git diff my-new-check upstream/master
More detailed information you can find on Git-Workflow, Git-rebase (Manual Page) and Rebasing.
Install dependencies
$ composer install
Run tests!
./vendor/bin/phpunit -c tests/phpunit.xml