| Getting started with Git | 
        
        Use git configwith the--globaloption to configure a user name, email address, editor, and other preferences once per machine.Set up ssh keys to connect to github.com | 
  
  
    
      | Understanding Add and Commit | 
        
        Git add copies files into the staging areaGit commit creates a new commit by duplicating the staging areaGit status shows a summaries of differences between the treesCommits are not overwritten, they’re stored somewhere and replaced | 
  
  
    
      | Commits and branches |  | 
  
  
    
      | The Nuts and Bolts |  | 
  
  
    
      | Changing History | 
        
        Learnt to change the state of the index, working tree using git resetLearnt to change the commit which this branch points to with git resetLearnt to selectively pick up historical versions of files with git checkoutUnderstand HEAD, master and the latest commit | 
  
  
    
      | Working with remotes | 
        
        We’ve been introduced to remotes and working with multiple remotesWe’ve seen how to track, work with and push to remote branchesWe’ve used and created tags to give names to interesting commitsWe’ve learnt to watch out for submodules, and initialise them | 
  
  
    
      | Logging |  | 
  
  
    
      | Telling your story | 
        
        Learnt to use git to revert changes and modify the last commitLearnt to change history in any way that we like to clean up our development storyLearnt to continue from the last commit in master with git pull --rebase | 
  
  
    
      | Identifying breaking commits |  |