mkdir, rm/del) 1.1. bash/csh/zsh/*sh for *nix 1.2. cmd/power shell/cygwin for Windows 2. git installed and available in the PATH 3. git properly configured (more on that later) I assume your already know one SCM system...
comes with it’s own jargon. git folder: .git directory at the root of the project. Holds everything git needs to keep track of (file oriented database). git command: git offers commands. it’s the first arguement in the CLI. (git help) Object: a record (file) in the database. Referenced by its hash (SHA-1) Blob: an object that contains data (text or binary). Tree: an object that represents a structure of blob(s) (name of the files). Commit: an object that links a new tree to a parent commit and a message.
HEAD: Pointer to the current (often the last) commit the index points to. Branch: Pointer to the current tree on which the index operates. Master branch: The “default” or “main” branch, typically called master Feature branch: One of the best practice is to isolate changes into seperate branches, called feature branches. “Feature” can also mean bug fix here. Tag: Name/synonym for a commit (commit-ish ref git rev-parse). Anotated tag: shareable, persistant and signable tag.
to add at least one remote to your your git repo. Remotes are “remotes working copies” They can be anywhere: on your friend’s laptop or on github/gilab/bitbucket/your own server
acces to the repro, you can push to any branch (as long as it does not already exist) git push origin master # pushes the current # branch into origin/master
git pull origin master # makes sure local master is sync git checkout -b my-feature # creates new feature branch … git commit -a [-m “”] # x times git push origin my-feature # create a pull request … or pull it yourself! git checkout master git pull origin my-feature git push origin master git tag -a 1.0.1a -m ‘My feature’ # optional git push --tags # this is how you push anotated tags
tortoisegit: https://code.google. com/p/tortoisegit/ dotfiles: the CLI is your friend, don’t let it suck http://dotfiles.github.io/ Google/StackOverflow: “git how to…”
Linus personal computer. He pulls from 5 other guys he trusts. They trust other people who trusts other people. But Linus can always be sure that his copy is intact since everything is hashed.