Workshops/Git Workshop: Difference between revisions
From London Hackspace Wiki
m (→Miscellaneous/Advanced Grab-bag: Typo) |
(→Miscellaneous/Advanced Grab-bag: Add GitHub topic) |
||
Line 32: | Line 32: | ||
* Common/recommended Git workflows | * Common/recommended Git workflows | ||
* Using GitHub | |||
* Ignoring files | * Ignoring files | ||
* Using and abusing the staging area (including stashing) | * Using and abusing the staging area (including stashing) |
Revision as of 17:42, 19 February 2011
Programme (draft)
Guided tour
We'll cover the following topics, in a 'follow along on your own laptop' style. By the end of this you'll have a good grounding in everyday Git usage.
- 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
- 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
- Getting help (how to read the man pages without going crazy; terminology; other resources)
Miscellaneous/Advanced Grab-bag
Probably more freestyle. For now, these are in no particular order:
- Common/recommended Git workflows
- Using GitHub
- 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
- This would be excellent for me as well: I'm using git but only what I've learned/hacked from online a more through grounding would be excellent SamLR
- 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
- As well as common workflows (good idea!) could we have useful tools etc? SamLR
- How London Hackspace uses Github as a repo, and how to participate in its use. -- Ciemon