Skip to content

Commit ea5b855

Browse files
author
Jordan McCullough
committed
Merge pull request #100 from github/found-int-workbook-tuning
Foundations, Intermediate Workbook content tuning
2 parents 429dbf5 + 79c1c4f commit ea5b855

File tree

2 files changed

+117
-20
lines changed

2 files changed

+117
-20
lines changed

workbooks/github-foundations.md

+90-17
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ description: This student and teacher workbook will be your companion to the Git
1515
* [A short history of Git](http://git-scm.com/book/en/Getting-Started-A-Short-History-of-Git)
1616
* [The Git project homepage](http://git-scm.com)
1717

18-
#### Details
18+
### Details
1919
__Git is an open source distributed__ version control system invented by Linus Torvalds in 2005. It is used to version the Linux kernel and is shown to be, by some research, the most popular modern version control system.
2020

2121
Git is the open source, command line tool that forms a part of the workflows we'll cover in this course. It has been called the successor to CVS and Subversion by many users, and maintains some similarity in behavior to these historical open source version control tools.
@@ -58,39 +58,52 @@ Sign up for a free GitHub account at https://github.com/join.
5858
Git can be installed as a unified GitHub GUI and command line or merely as a stand-alone command line interface.
5959

6060

61-
## Ways of interacting with repositories
61+
## Interacting with repositories
6262

6363
### Summary
6464
* [GitHub web flow](https://guides.github.com/overviews/flow/)
6565
* GitHub GUIs for Mac, Windows
6666
* Command line
6767

68-
## Getting to know GitHub
68+
## Getting to know Git & GitHub
6969

7070
### Summary
7171
* Repository initialization
72-
* Actionable steps (Create, Edit, Remove, Move)
73-
* Commits (page)
72+
* New project and new repository
73+
* Repository based on existing content
74+
* Through web interface
75+
* Web interface and GUI client
76+
77+
## Acquiring repos
78+
79+
### Summary
80+
* Clone from web (Clone in Desktop button)
81+
* Clone via personal repo list in GitHub Desktop
82+
* Complete "copy" explanation
7483

7584
## Version control basics
7685

7786
### Summary
7887
* Commits
79-
* Line-level tracking
80-
* Commit messages
81-
* Grouping files (with desktop clients)
82-
* Branching
83-
* Branching concepts
84-
* Branch selection menu
85-
* Branch listing page
86-
* Branch comparison view
88+
* History marker for file(s), change(s)
89+
* Record of author, time, and message
90+
* Branches
91+
* Container for grouped commits
92+
* Simpler means to integrate change
93+
* Cleaner code review possibilities
94+
* GitHub, local repositories
8795

88-
## Acquiring repos
96+
## GitHub repository interaction
8997

9098
### Summary
91-
* Clone from web (Clone in Desktop button)
92-
* Clone via personal repo list in GitHub Desktop
93-
* Complete "copy" explanation
99+
* Commits (GitHub.com)
100+
* Actionable steps (Create, Edit, Remove, Move)
101+
* Commit messages
102+
* Listing page on GitHub
103+
* Branches (GitHub.com)
104+
* Selection menu
105+
* Listing page
106+
* Comparison view
94107

95108
## Local repository interaction
96109

@@ -102,6 +115,16 @@ Git can be installed as a unified GitHub GUI and command line or merely as a sta
102115
* History
103116
* Syncing (GHfD)
104117

118+
* Commits (GitHub for Desktop)
119+
* Managing file on system, reviewing results
120+
* Line-level tracking
121+
* Grouping files
122+
* Synchronizing local commits
123+
* Branches (GitHub for Desktop)
124+
* Create
125+
* Change
126+
* Publish
127+
105128
## GitHub workflows
106129

107130
### Summary
@@ -137,10 +160,60 @@ Git can be installed as a unified GitHub GUI and command line or merely as a sta
137160
* Network graph
138161
* Activity graph
139162

163+
## GitHub Wikis
164+
165+
### Summary
166+
* Fast documentation authoring for repositories
167+
* Standalone repository
168+
* Easy access from repository navigation
169+
170+
## GitHub Pages
171+
172+
### Summary
173+
* Web page for your repository
174+
* Web page for your account
175+
* Author, edit, launch from GitHub
176+
177+
## GitHub Features
178+
179+
### Summary
180+
* Notifications
181+
* Watching repositories
182+
* Starring repositories
183+
* Gist
184+
* GitHub Flavored Markdown
185+
* Basics
186+
* Emoji
187+
* Checklists (Issues, Gists)
188+
189+
## GitHub shortcuts
190+
191+
### Summary
192+
193+
* `/` command bar
194+
* `?` help
195+
* `t` fuzzy file search
196+
140197
## Project management basics
141198

142199
### Summary
143200
* GitHub Issues
144201
* Milestones
202+
* Network
145203
* Pulse
146204
* Tags, Releases
205+
* Collaborators
206+
* Organizations
207+
* Teams
208+
209+
## Special Repository Features of GitHub
210+
* Contributing.md
211+
* License.md
212+
* During repository creation
213+
* `+` a file with existing repository (special dropdown)
214+
* .gitignore
215+
* During repository creation
216+
* `+` a file with existing repository (special dropdown)
217+
* Readme.md
218+
* In root
219+
* In subfolders

workbooks/github-intermediate.md

+27-3
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,8 @@ $ git branch -a
249249
* Folding in branches
250250
* Resolving conflicting merges (manually edit)
251251
* Resolving file with shortcuts
252+
* Updating topic branch from a base branch
253+
* Integrating separate repo history
252254

253255
#### Details
254256
```
@@ -264,18 +266,26 @@ $ git checkout --theirs [file]
264266
265267
$ git add [file]
266268
$ git commit
269+
270+
$ git merge [base]
271+
272+
$ git pull [repository] [branch]
267273
```
268274

269275
## Fetching changes
270276

271277
### Summary
272278
* Comparing without merge
273279
* Merging selectively
280+
* Retrieving from other repositories
274281

275282
#### Details
276283
```
277284
$ git fetch [remote]
278285
$ git branch -a
286+
287+
$ git fetch [repository] [branch]
288+
$ git show FETCH_HEAD
279289
```
280290

281291
## Removing files
@@ -302,7 +312,9 @@ $ git rm --cached -- <filename>
302312
```shell
303313
$ mv <file> <newfilename>
304314
$ git add -A .
315+
305316
# or
317+
306318
$ git mv <file> <file>
307319
$ git log --stat -M
308320
$ git log --follow <file>
@@ -364,7 +376,7 @@ $ git pop
364376
$ git stash --include-untracked
365377
```
366378

367-
## Recovering almost anything with the `reflog`
379+
## Recovering almost anything with `reflog`
368380

369381
### Summary
370382
* Tracing Git action "history"
@@ -376,13 +388,24 @@ $ git reflog
376388
$ git reflog --all
377389
$ git config --global alias.undo "reset HEAD@{1}"
378390
$ git checkout HEAD@{1}
391+
392+
$ git reset --hard HEAD@{1}
393+
394+
$ git branch [name] HEAD@{1}
379395
```
380396

381397
## Pull requests
382398

383399
### Summary
384-
* Pushing branch to repo
385-
* Creating GH pull request
400+
* Pushing a branch to GitHub
401+
* Using the GitHub interface
402+
* Retrieving locally
403+
404+
```
405+
$ git push -u [remote] [branch]
406+
407+
$ git fetch [remote] refs/pull/[issue-number]/head
408+
```
386409

387410
## GitHub Issues
388411

@@ -399,6 +422,7 @@ $ git checkout HEAD@{1}
399422

400423
#### Details
401424
```
425+
$ git config --global alias.lol "log --graph --all --oneline --decorate"
402426
$ git config --global alias.l "log --oneline --stat"
403427
$ git config alias.s "status -s"
404428
$ git s

0 commit comments

Comments
 (0)