Git
Commands
Standards Used: these are git commands, there for they come after "git". Anything in parenthesis are arguments, the parenthesis are not included. Anything after : is an explanation.
- init : initializes a git repository.
- status : shows unstaged changes
- add (filename) : stages a change
- add * : stages all changes
- add . : ??? I think this stages all files (good for new repository)
- reset (filename) : Unstages a change
- commit : commit staged changes
- -m ("comment")
- log : shows the history of the repository
- --skip=n : skips the last n commits
- --since=yyyy-mm-dd
- --until=yyyy-mm-dd
- --grep="(pattern)"
- --graph : shows a branch graph
- checkout
- checkout (id/tag) : goes back to a specific version
- checkout master : returns to the latest changes
- checkout -b (branch) : checks out a branch creates the branch if it does not exist
- reset (id/tag) : erases all history after (id), basically a rollback
- help : list all commands
- help (operation/keyword) get help on a specific command
- clone
- fetch
- merge : combine two pranches
- push : pushes to remove - I'm not clear which, how, what if there are multiple - much confusion.
- remote
- add origin (url)
- pull : really just a shortcut for fetch then merge
- clean : i dont know
- tag : lists all the tags in the repo
- tag (tag) : tags the last commit
Examples
cd /path/to/your/Workbench/repo git remote add origin https://your_repo_identity_here/online_workbench.git git push -u origin master
Concepts
Repository
The Git representation of the history of a set of files in a directory tree.
Stage
Changes are made locally, staged and then committed. Staging is the process of preparing part (or all) of your change to be committed.
Checkout
This is not like the MS version - you are not getting a file to edit it, you are pulling a previous version of a file.
Remote
A git server. This is where I get confused.
Origin
...and origin master...more confused
Branching
A branch name cannot contain whitespace or :?!^*[ or two consecutive dots. Forward slash is used to denote heirarchical naming.