Workshops/Git Workshop: Difference between revisions
From London Hackspace Wiki
(→Topics (draft): More structure) |
|||
Line 1: | Line 1: | ||
== | == 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' | * Git is a 'stupid content tracker' | ||
** Why track content? | ** Why track content? | ||
Line 10: | Line 15: | ||
** What's going on? git status and git diff | ** What's going on? git status and git diff | ||
** What has been going on? git log and git show | ** What has been going on? git log and git show | ||
* Branches | * Branches | ||
** Why branch? | ** Why branch? | ||
Line 21: | Line 25: | ||
** Getting new commits from a remote | ** Getting new commits from a remote | ||
** Sending your commits to a remote | ** Sending your commits to a remote | ||
* Miscellaneous/ | * Getting help (how to read the man pages without going crazy; terminology; other resources) | ||
=== Tips and Tricks Grab-bag === | |||
Miscellaneous or advanced Git topics. Probably more freestyle. For now, there are in no particular order: | |||
* Common/recommended Git workflows | |||
* 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 == | == Suggestions == |
Revision as of 17:40, 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)
Tips and Tricks Grab-bag
Miscellaneous or advanced Git topics. Probably more freestyle. For now, there are in no particular order:
- Common/recommended Git workflows
- 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