Worksheet Day 2 - Version control

Author

Lukas Lehner

This worksheet includes a simulation exercise of basic Git commands to understand the Git logic (Lab Session I); installing, linking and setting up all required software and workflow (Lab Session II); and collaborate in teams on coding challenges to familiarize ourselves with the Git version control system and key Git operations, including branching, merging, forking, and resolving merge conflicts (Lab Session III).

Lab Session I 👩‍💻 👨‍💻

Simulation to learn using basic Git commands

  • Try to complete the online exercises to understand the git logic:
    • Main: Introduction Sequence
    • Remote: Push & Pull – Git Remotes!

🎁 Bonus

  • Main: Ramping Up
  • Main: Moving Work Around
  • Main: A Mixed Bag
  • Remote: To Origin And Beyond – Advanced Git Remotes!

Instructions: Git Installation

Windows

I. Download the Git for Windows installer.

  1. Run the installer and follow the steps below:
  1. Click on “Next” four times (two times if you’ve previously installed Git). You don’t need to change anything in the Information, location, components, and start menu screens.
  2. From the dropdown menu, “Choosing the default editor used by Git”, select “Use the Nano editor by default” (NOTE: you will need to scroll up to find it) and click on “Next”.
  3. On the page that says “Adjusting the name of the initial branch in new repositories”, ensure that “Let Git decide” is selected. This will ensure the highest level of compatibility for our lessons.
  4. Ensure that “Git from the command line and also from 3rd-party software” is selected and click on “Next”. (If you don’t do this Git Bash will not work properly, requiring you to remove the Git Bash installation, re-run the installer and to select the “Git from the command line and also from 3rd-party software” option.)
  5. Select “Use bundled OpenSSH”.
  6. Ensure that “Use the native Windows Secure Channel Library” is selected and click on “Next”.
  7. Ensure that “Checkout Windows-style, commit Unix-style line endings” is selected and click on “Next”.
  8. Ensure that “Use Windows’ default console window” is selected and click on “Next”.
  9. Ensure that “Default (fast-forward or merge) is selected and click”Next”
  10. Ensure that “Git Credential Manager” is selected and click on “Next”.
  11. Ensure that “Enable file system caching” is selected and click on “Next”.
  12. Click on “Install”.
  13. Click on “Finish” or “Next”.
  1. If your “HOME” environment variable is not set (or you don’t know what this is):
  1. Open command prompt (Open Start Menu then type cmd and press Enter)
  2. Type the following line into the command prompt window exactly as shown: setx HOME "%USERPROFILE%".
  3. Press Enter, you should see SUCCESS: Specified value was saved.
  4. Quit command prompt by typing exit then pressing Enter.
  • This will provide you with both Git and Bash in the Git Bash program.

Mac

  • The default shell in some versions of macOS is Bash, and Bash is available in all versions, so no need to install anything. You access Bash from the Terminal (found in /Applications/Utilities). See the Git installation video tutorial for an example on how to open the Terminal. You may want to keep Terminal in your dock for this workshop.

  • To see if your default shell is Bash type echo $SHELL in Terminal and press the Return key. If the message printed does not end with ‘/bash’ then your default is something else and you can run Bash by typing bash.

  • If you want to change your default shell, see this Apple Support article and follow the instructions on “How to change your default shell”.

Source: https://github-pages.ucl.ac.uk/2022-09-19-UCL-DaSH/.

Lab Session II 👩‍💻 👨‍💻

Installation is half the battle!

  1. Create a GitHub Account. Careful when choosing your username.

  2. Install git and GitHub Desktop if you have not done so yet. Instructions.

🎁 Bonus

Lab Session III 👩‍💻 👨‍💻

Working with GitHub

  1. Let’s get started with creating and using your first repository. 💩 got real! 😱

  2. Review pull requests

  3. Resolve merge conflicts

🎁 Bonus