Skip to content

Commit c69f5eb

Browse files
author
jordanmccullough
committed
Added cover slide includes for all sections
1 parent 239c316 commit c69f5eb

File tree

1 file changed

+93
-6
lines changed

1 file changed

+93
-6
lines changed

advanced/beta.md

Lines changed: 93 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ description: Mastering Git and GitHub
66

77
This curriculum will be your companion to the GitHub Advanced class taught by the GitHub Training Team and other educational groups. In this course, you'll explore strategies for branch and history rewriting, temporary storing and recovery techniques, and Git technology mechanics for faster problem solving.
88

9+
{% capture slide %}
910
### Understanding Git
11+
{% endcapture %}
12+
{% include slide-section %}
1013

1114
* Directed acyclic graph
1215
* Tree object
@@ -38,8 +41,10 @@ HEAD@{today}
3841
```
3942

4043

41-
44+
{% capture slide %}
4245
### Common branching strategies
46+
{% endcapture %}
47+
{% include slide-section %}
4348

4449
#### Summary
4550
* GitHub Flow
@@ -85,7 +90,12 @@ These are called Branching Strategies, but are just as easily called *Team Colla
8590
* [How To Merge Without Fear](http://blog.springsource.org/2010/12/21/git-and-social-coding-how-to-merge-without-fear/)
8691
* [What to do when things get complicated](http://blog.springsource.org/2011/07/18/social-coding-pull-requests-what-to-do-when-things-get-complicated/)
8792

93+
94+
{% capture slide %}
8895
### Applying branching patterns
96+
{% endcapture %}
97+
{% include slide-section %}
98+
8999
#### Summary
90100
* Breaking features down into pieces
91101
* Feedback early on Pull Requests
@@ -95,7 +105,12 @@ These are called Branching Strategies, but are just as easily called *Team Colla
95105
#### Further reading
96106
* [Validated Build Promotions with Git, GitHub, and Jenkins](http://www.youtube.com/watch?v=Gd8OfAmKkMQ)
97107

108+
109+
{% capture slide %}
98110
### Git-core GUIs
111+
{% endcapture %}
112+
{% include slide-section %}
113+
99114

100115
#### Summary
101116
* for staging, committing
@@ -111,9 +126,13 @@ $ gitk --all
111126
```
112127

113128

129+
{% capture slide %}
114130
### Mastering Shortcuts
115131
* Shortcuts to multiple steps
116132
* Useful customized commands
133+
{% endcapture %}
134+
{% include slide-section %}
135+
117136

118137
Add and commit along with the commit message:
119138

@@ -133,11 +152,16 @@ Checkout and create a branch:
133152
$ git checkout -b [branch] [base]
134153
```
135154

136-
155+
{% capture slide %}
137156
### Isolating Work
157+
138158
* Version patches of large change sets
139159
* Stage interactively on command line
140160
* Revise to-be-committed patch
161+
{% endcapture %}
162+
{% include slide-section %}
163+
164+
141165

142166
```bash
143167
# Stage by patch
@@ -147,7 +171,11 @@ $ git add -p [file]
147171
git reset reset HEAD -p [file]
148172
```
149173

174+
175+
{% capture slide %}
150176
### Branch best practices
177+
{% endcapture %}
178+
{% include slide-section %}
151179

152180
* Pros/cons of collapsing commits during merge
153181
* Relation to branching strategies and deliverable expectations
@@ -176,8 +204,10 @@ List branches without this merged in:
176204
$ git branch --no-merged [commit]
177205
```
178206

179-
207+
{% capture slide %}
180208
### Ignoring content
209+
{% endcapture %}
210+
{% include slide-section %}
181211

182212
#### Repository-specific ignores
183213
* Ignoring files from repo & system level
@@ -209,7 +239,10 @@ $ git add -f [path]
209239
<iframe src="//player.vimeo.com/video/99804597" width="100%" height="350" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
210240

211241

242+
{% capture slide %}
212243
### Navigating History
244+
{% endcapture %}
245+
{% include slide-section %}
213246

214247
```bash
215248
$ git log --author [author-name]
@@ -244,11 +277,16 @@ ion syntax](https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html)
244277
#### Video
245278
<iframe src="//player.vimeo.com/video/95811891" width="100%" height="350" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
246279

280+
281+
{% capture slide %}
247282
### Temporary Changes
248283

249284
* Name your stash
250285
* List stashes
251286
* Use specific stashes
287+
{% endcapture %}
288+
{% include slide-section %}
289+
252290

253291
```shell
254292
$ git stash
@@ -262,8 +300,11 @@ $ git stash clear
262300
$ git stash -p
263301
```
264302

265-
303+
{% capture slide %}
266304
### Incorporating History
305+
{% endcapture %}
306+
{% include slide-section %}
307+
267308

268309
* Reusing small pieces of code with `cherry-pick`
269310
* Why use `cherry-pick` instead of `merge`?
@@ -303,8 +344,10 @@ $ git cherry [upstreambranch]
303344
+ 315fe16408f9a9080527e00df3d9a8c1ba0dc97a
304345
```
305346

306-
347+
{% capture slide %}
307348
### Rewriting history with rebase
349+
{% endcapture %}
350+
{% include slide-section %}
308351

309352
{% capture svg_path %}../assets/diagrams/rebase.svg{% endcapture %}
310353
{% include svg %}
@@ -381,7 +424,11 @@ $ git rebase --onto <newbase> <upstream> <HEAD|branch>
381424
* [Git rebase --onto section of Pro Git book](http://git-scm.com/book/ch3-6.html#More-Interesting-Rebases)
382425

383426

427+
428+
{% capture slide %}
384429
### Cutting Releases
430+
{% endcapture %}
431+
{% include slide-section %}
385432

386433
#### Summary
387434
* Why create a tag through the web UI?
@@ -420,8 +467,11 @@ $ git tag -d 12345
420467
$ git push origin :[tag-name-to-delete]
421468
```
422469

423-
470+
{% capture slide %}
424471
### Reviewing & synchronizing
472+
{% endcapture %}
473+
{% include slide-section %}
474+
425475

426476
#### Reviewing remote branches
427477
* PRs to horizontal contributors
@@ -495,7 +545,11 @@ $ git fetch [repo-url] [source]:[destination]
495545
$ git config --add remote.[upstream].fetch "+refs/pull/*/head:refs/remotes/[upstream]/pull/*"
496546
```
497547

548+
549+
{% capture slide %}
498550
### Aggregating repositories
551+
{% endcapture %}
552+
{% include slide-section %}
499553

500554
#### Adding submodules
501555
Add a separate repository as a subdirectory:
@@ -552,7 +606,11 @@ $ git merge --squash
552606
```
553607

554608

609+
{% capture slide %}
555610
### GitHub CLI
611+
{% endcapture %}
612+
{% include slide-section %}
613+
556614
* Uses the API for interfacing with your repos
557615
* Stores OAUTH token, credentials
558616
* Highly efficient for power-users
@@ -579,7 +637,11 @@ $ gh browse
579637
```
580638

581639

640+
641+
{% capture slide %}
582642
### Signing work
643+
{% endcapture %}
644+
{% include slide-section %}
583645

584646
#### By commit message
585647
Adds a rigorously formatted text block to commit messages:
@@ -616,7 +678,12 @@ $ git tag -v [tag-name]
616678
```
617679

618680

681+
682+
{% capture slide %}
619683
### Cleaning up history
684+
{% endcapture %}
685+
{% include slide-section %}
686+
620687
```shell
621688
$ git filter-branch
622689
--subdirectory-filter [dir]
@@ -630,7 +697,12 @@ $ git filter-branch --index-filter
630697
```
631698

632699

700+
701+
{% capture slide %}
633702
### Avoiding Repetitive Conflicts
703+
{% endcapture %}
704+
{% include slide-section %}
705+
634706
* *Re*use *re*corded *re*solution
635707
* Preserves pre-image to simplify conflicts
636708

@@ -652,7 +724,10 @@ $ curl -n <URL>
652724
```
653725

654726

727+
{% capture slide %}
655728
### Cleaning
729+
{% endcapture %}
730+
{% include slide-section %}
656731

657732
#### Summary
658733
* Purge untracked in working dir
@@ -666,7 +741,11 @@ $ git clean -fd
666741
$ git clean -fx
667742
```
668743

744+
745+
{% capture slide %}
669746
### Diff & merge tool
747+
{% endcapture %}
748+
{% include slide-section %}
670749

671750
#### Summary
672751
* [P4Merge](http://www.perforce.com/downloads/Perforce/20-User)
@@ -720,7 +799,12 @@ A sample `.gitconfig` file:
720799
keepBackup = false
721800
```
722801

802+
803+
{% capture slide %}
723804
### Refspecs
805+
{% endcapture %}
806+
{% include slide-section %}
807+
724808
#### Summary
725809
* Specification for retrieval and pushing
726810
* Implied on fetch, pull, and push
@@ -733,7 +817,10 @@ $ git fetch [repo-url] [source]:[destination]
733817
$ git config --add remote.[upstream].fetch "+refs/pull/*/head:refs/remotes/[upstream]/pull/*"
734818
```
735819

820+
{% capture slide %}
736821
### Additional Resources
822+
{% endcapture %}
823+
{% include slide-section %}
737824

738825
* [Advanced Git presented at JavaZone](http://vimeo.com/49444883)
739826
* [Master Advanced Git Video Series](http://bit.ly/ogitvid2)

0 commit comments

Comments
 (0)