Workshops/Git Workshop
From London Hackspace Wiki
Topics (draft)
- Git is a 'stupid content tracker'
- Why track content?
- Key Git concepts
- Tracking your content locally
- Setting up Git for the first time
- git init
- The staging area
- git add and git commit
- What's going on? git status and git diff
- What has been going on? git log and git show
- Getting help
- Branches
- Why branch?
- Creating a branch
- Moving between branches
- Merging branches
- Working with remotes
- What is a remote?
- Cloning from a remote
- Getting new commits from a remote
- Sending your commits to a remote
- Miscellaneous/Advanced Git
- Ignoring files
- Using and abusing the staging area (including stashing)
- Rewriting history (git rebase and friends)
- Finding out where things went wrong: git blame and git bisect
- The reflog
- Tags
Suggestions
Please add ideas for topics you'd like covered!
- Naming and Addressing Things (suggestion from --PhilJones)
- Often I try to look something up in the git documentation and the terminology can be confusing, if you come from other SCMs.
- A clear explanation of what is exactly meant by HEAD.
- How you refer to "the most recent commit" or "last Tuesday's commit" or "the second to last commit made by John that I pulled in this morning".
- Often I try to look something up in the git documentation and the terminology can be confusing, if you come from other SCMs.
- As a total newcomer I would favour a ground up, assume no prior knowledge version. Thanks. -- SpikeUK
- It'd be great if we could collaboratively compile a cheat sheet during the workshop. I primarily use Hg for personal projects so always find myself having to doc hunt when I intermittently need to do anything with Git beyond clone & pull basics and that's when I get all confuzzled 'cos the docs assume comprehensive knowledge and semi-informed confusion is dangerous with SCMs! -- Anthony
- Related to my above point, maybe we should collate a set of use cases/common workflows. -- Anthony