Git installation
Git is the de facto go-to solution for version control.
Go here to download a graphical Git installer appropriate for your machine’s operating system (Mac / Windows).
Run the installer and follow its instructions to install the software. Usually the default options are all we need for configuring Git.
Important Note for Windows Users: after Git installation, please open your command-line terminal and run the following code:
git config --system core.longpaths true
GitHub installation
GitHub is the leading online hosting service of Git repositories.
Go here to register an account if you have not got one.
SourceTree installation
Atlassian’s SourceTree is one of the best desktop apps for managing Git repositories online and offline.
- Go here to download a graphical installer of SourceTree appropriate for your machine’s operating system (Mac / Windows).
- Run the installer and follow its instructions to install the software into a folder you prefer.
- Launch SourceTree after installation, follow the default recommended basic configurations, and log in with your GitHub account.
Important Note for Windows Users: make sure SourceTree uses the "system" Git software (and not its own "embedded" Git software), by:
- Installing Git as instructed above; and
- In SourceTree, adjust the following setting: go to Tools > Options > Git > Git Version and select "Use System Git".
Clone / Sync the Course GitHub Repository to local folder
Cloning
- Open the SourceTree app
- Press "Clone / New" button; go to "Clone Repository" tab
- In "Source Path / URL", paste: http://GitHub.com/ChicagoBoothML/MachineLearning_Fall2015
- In "Destination Path", select a folder on your local disk drive you prefer
- Press "Clone" button
An exact copy of the course GitHub repository's content at the time of cloning will then appear in the folder you specify.
Syncing
Every now and then, when you want to make sure you have the latest updated materials:
- Open the SourceTree app
- Open the course repo by clicking on its name in the left-hand-side list of repositories
- With the repo open, press "Pull" at the top navigation bar
"Pull" will grab all the changes to the source GitHub repository since your last clone / pull, and apply those changes to your local cloned copy, so that you'll end up with exactly the latest content.
Note: GitHub connectivity restrictions by certain company internet networks
In some rare circumstances, we have encountered company internet networks that block transactions with GitHub.com.
The recommended immediate quick fix is as follows:
- Leave your office early right now, beat the traffic, and arrive in your more GitHub-friendly home;
- Have a meal - a proper big meal - to fuel your brain;
- Connect with GitHub with peace, and work on your ML homework till sunbeams find you...
Having said that, a company blocking GitHub can be symptomatic of some serious, deep-rooted problems; reflect on the following possibilities:
- Your CTO may be ignorant;
- Worse, your CTO may be even evil;
- Your CEO may be ignorant of your CTO being ignorant or evil;
- Worse, it may be even the case that your CEO is evil;
- You yourself may be ignorant of your CEO and/or CTO being ignorant or evil...
If the GitHub issue helps you uncover such scares, leave your job, do a Machine Learning PhD, and come back to boss the world! ;)