| 53 | | But you should still fork the main repository to create your own repository, and then clone your own repository.[[br]] |
| 54 | | https://github.com/flavour/eden |
| 55 | | |
| 56 | | On your local (cloned) repository, set up a "remote" that points to the GCI repository. Open the repository page:[[br]] |
| 57 | | https://github.com/edengci/eden [[br]] |
| 58 | | On the right, there will be a box that says "SSH clone URL" or "HTTPS clone URL" -- that will be the URL to use for your new remote. |
| 59 | | If you are using git from the command line, cd to your local eden repository, and do this if you are using a password to connect |
| 60 | | to !GitHub (this is the "HTTPS clone URL"): |
| 61 | | {{{ |
| 62 | | git remote add edengci https://github.com/edengci/eden.git |
| 63 | | }}} |
| 64 | | Or do this if you are using SSH keys to connect to !GitHub (this is the "SSH clone URL"): |
| 65 | | {{{ |
| 66 | | git remote add edengci git@github.com:edengci/eden.git |
| 67 | | }}} |
| 68 | | |
| 69 | | We are going to collect up student work for several days, and then test it and submit it all together to the main repository. |
| 70 | | Because of that, we won't update from the main repository during that time. This will fix the problem students saw with having |
| 71 | | extra commits from the main repository that were not in the GCI repository appear in their pull requests. |
| 72 | | |
| 73 | | We are going to use a branch called "staging" to hold students' work, so when you are ready to start working on code, you can |
| 74 | | pull a copy of this branch to your local repository. This is where you will send pull requests. To get a copy of this branch: |
| 75 | | |
| 76 | | {{{ |
| 77 | | git pull edengci staging:your-branch-name |
| 78 | | }}} |
| 79 | | |
| 80 | | You can call your local branch whatever you want. One suggestion is to pull a fresh copy of the staging branch when you are about |
| 81 | | to start a new task. (You can keep any old branch you were working on for previous tasks, or delete it after your pull request for |
| 82 | | the previous task is accepted and merged into the staging branch. But it is better not to reuse that branch to avoid unexpected |
| 83 | | merge issues with new work. If you want to use the same branch name, then you can rename your old branch.) |
| 84 | | |
| 85 | | Note, your commits will still have your name on them as author when they get into the main repository! |
| 86 | | |
| 87 | | The steps to submit your work are similar to those in the git wiki page linked above -- differences are noted here. |
| 88 | | * "Squash" your commits into one. |
| 89 | | * ''This is different:'' Don't rebase from the main repository -- instead, rebase *from the staging branch* -- the same branch you will send the pull request to. |
| 90 | | {{{ |
| 91 | | git pull --rebase edengci staging |
| 92 | | }}} |
| 93 | | * Push your commit to your Eden repository on !GitHub. |
| 94 | | * Open the !GitHub page for your Eden repository. |
| 95 | | * Click the "Compare and Create Pull Request" button shown on that commit. |
| 96 | | * ''This is different:'' The pull request page has a line that shows which repository and branch you are sending the pull request too. |
| 97 | | You will need to change both, to the GCI repository and the "staging" branch. |
| 98 | | * There will be a down-arrow next to the repository -- that will give you a list of repositories. Select the GCI repository. |
| 99 | | * Then use the down-arrow on the branch -- select "staging". |
| 100 | | * Create the pull request. |
| 101 | | * Continue with the code review as usual. |