CS 435 - Week 11 Lecture 1 - 2014-04-08 More on Git/GitHub * at-least-partial list of references: * [1] "GitHub in the Classroom, Not just for Group Projects", JCSC, April 2013, Vol 28 Number 4, p. 74 * [2] http://stephaniehoh.github.io/blog/2013/10/07/git-vs-github-for-dummies/ * [3] http://training.github.com/kit/ * [4] https://foo.cs.ucsb.edu/56wiki/index.php/Github:_SIGCSE_2013_Course_Notes * [5] GitHub Git Cheat Sheet card (can be downloaded from: https://help.github.com/articles/git-cheatsheet) * [6] Fall 2011 CIS 480 XP team's "Guide to Git" reminder: what is Git? * a distributed popular version control system with versions for Mac, Windows, and UNIX * distributed? * you can run it locally -- keep a local copy -- but can also have copies elsewhere, distributed across different locations; in particular, there can be a team version, and each team member can have their own version; * version control? * you can check in copies of files as they are developed, you can check OUT not just the latest version, but PREVIOUS versions, as desired; * (note: Git is just one of several version control systems...) * Git goes deeper -- you can create and work on BRANCHES, [2] "which are basically parallel universes that you can switch back and forth out of interchangeably" * you can then merge branches in you want, discard those you don't want, etc. reminder: what is GitHub? * a web-based HOSTING service for software projects that uses Git * https://github.com/ * public repositories are free -- private repositories come at a price (although free repositories can be requested for educational purposes, such as the CS 435 team private repositories) * MAKE SURE YOU KNOW -- you can use Git without using GitHub! * you can just use Git to keep track of versions of software on your own computer, or on your computer and other computers; * ...but GitHub is very convenient to use in conjunction with Git; * can download Git for your computer from (for example): * Mac version: mac.github.com * Windows version: windows.github.com * Unix/Linux versions with apt-get: sudo apt-get install git # note that a number of Linux distributions support # apt-get * Git is basically a command line tool, although the above include some GUI tools, as does GitHub; * AND -- [4], amongst others, recommend: LEARN the command-line version of Git first... 8-) core.autocrlf * recommended setting for Unix USERS (Unix/Linux/Mac OS X) git config --global core.autocrlf input * recommended setting for Windows USERS git config --global core.autocrlf true * (the default setting is false -- the given line endings are simply preserved!)