Project management 0. Git setup

What is Git?

  • Git is a version control tool originally created by Linus Torvalds in 2005
  • Keeps track of code changes
  • Can be used to backup code in the cloud
  • Enables cooperation with other team members
  • Ubiquitous in software development

Git vs cloud storage

  • Git is different from cloud storage services like Dropbox, Google Drive or OneDrive
    • Instead of automatic syncing, you deliberately push to and pull from the cloud
    • Cloud services are easier for starters
    • ...but in projects of more than one person, tracking changes would be a pain
  • Git has a steep learning curve
    • To ease things, there are some visual tools like Sourcetree or Sublime Merge
    • To use them effectively, you still need to understand how Git works, though

GitHub

  • Git could be used locally, but is usually combined with a remote storage service like GitHub, GitLab or BitBucket
    • These services can also double as a programming portfolio
    • Commonly used in open source projects
  • On this course we'll use GitHub

Setup

  • Install Git
    • Windows/Mac: git-scm.com
      • Installation instructions are included in the following slides.
      • If a setting is not mentioned in the instructions, you can leave it as the default option.
    • Linux: sudo apt-get install git

Git setup: Settings for Windows

Set manually after setup with:

git config --global core.editor "code --wait"

Set manually after setup with:

git config --global init.defaultBranch main

Set manually after setup with:

git config --global credential.helper wincred

Command line

Extra: Help, this is horrible!

  • Do you feel more at home in graphical UIs?
  • If the command line is not your thing, you can also use GitHub Desktop
  • It's a Windows application for working with GitHub repositories
  • It will show the Git history as a visual timeline
  • Note: Even when using GitHub desktop, it still helps if you understand the Git commands that still are executed under the hood, though!

Btw: Config

  • To configure your Git username for every project:
    • Use git config --global user.name "myUserName"
    • and git config --global user.email "my.email.address@domain.com"
  • If you do not do this, Git will ask to do it anyway at some point