# Collaborate on a LAB In the following screenshots: - `StudentA` is `abernier` - `StudentB` is `elok6` ## Setup 1. `StudentA` forks the Ironhack's repository: ![](https://i.imgur.com/mhQ566x.png) 2. `StudentA` adds `StudentB` as a collaborator: ![](https://i.imgur.com/nswfAPg.png) ![](https://i.imgur.com/5ObP7vH.png) ![](https://i.imgur.com/cTuQvs0.png) ![](https://i.imgur.com/HOJzSiH.png) NB: here and optionally, `StudentA` can **copy the invitation link** and send it to `StudentB`: otherwise, studentB will receive an invitation by email 3. `StudentB` accepts the invitation (email or link sent) 3. **Both** can now clone the shared `StudentA`'s fork: ![](https://i.imgur.com/MQlsP0n.png) ```sh $ git clone https://github.com/abernier/lab-javascript-functions-and-arrays.git ``` Both can `push` and `pull` to it. ## Workflow :point_right: Designate who is going to be the **driver / navigator** for Iteration 1 ### Iteration 1 1. The **driver shares his screen** so the other one can help him: ![](https://i.imgur.com/oNXI8Xj.png) 2. Work together... 3. Once completed, driver does his commit and push: ```shell $ git status $ git add … $ git commit -m "1st iteration done" $ git push origin master ``` **The other one** retrieves the work by pulling: ```shell $ git pull ``` ### Iteration 2 - Switch driver / navigator. - repeat iteration 1's steps and so on... ## End of LAB 1. Even if you haven't finished, commit+push your last changes: ```shell $ git status $ git add … $ git commit -m "iteration 4 work-in-progress" $ git push origin master ``` 2. `StudentA` (the one who has forked) do the Pull-Request: ![](https://i.imgur.com/YBlP24V.png) ## After the LAB If you hadn't finished the LAB during class-time, 2 options then: - continue working **together** - finishing the LAB each on your side, **independently** ### Together During extra-time `StudentA` and `StudentB` call themself on Zoom and continue working on, with the same workflow... ### Independently #### `StudentA` He continues to work on his fork: commits he pushes will be appended to the PR #### `StudentB` He has no fork :cry: (yet). In order he's got his own copy, he's going to fork `StudentA`'s fork: ![](https://i.imgur.com/AP21SDu.png) That way `StudentB` **now has his own copy** with all the commits pushed during the LAB. :::warning Don't forget to **clone your own fork**! Here are the steps : 1. Remove `StudentA`'s clone: ```shell $ rm -rf lab-javascript-functions-and-arrays ``` 2. Clone your own fork ``` $ git clone https://github.com/elok6/lab-javascript-functions-and-arrays.git $ cd lab-javascript-functions-and-arrays $ code . ``` ::: Then code and commit + push on your own fork.