<PREV> <INDEX> <NEXT>

Version Control

Why versioning systems?

History and comparison: (cvs -> svn -> git) action arguments


GIT structure


### Getting started
# Getting help:
git help <command>
git <command> -h
man git-<command>


# New repository
cd $REPO_DIR ; git init ; git add <dirs/files> ; git commit -m 'initial blurb'

# Existing repository
cd $REPO_DIR ; git clone <URL>

# Control what's ignored
# templates at https://github.com/github/gitignore
emacs $REPO_DIR/.gitignore

# Customize (layered)
/etc/gitconfig
~/.config/git/config
emacs $REPO_DIR/.git/config
git config



### Making changes
# add/modify files/directories

# getting info

# deleting files/directories

# searching


### Handling commits

# Undo things

# Branching:

# Merging into the current branch: git merge <branch>

# merge is not symmetric: files the same but pointers different

# Stashing: save some changes not ready for commit

# Rebasing (apply patches from a different branch):
merging

### Collaborating with others
# working with remotes

# managing tracking branches


### Best practices



Further lecture:



Python Quiz 2 Python Quiz 2 (Chap 7-11)

<PREV> <INDEX> <NEXT>