@@ -6,10 +6,34 @@ redirect_from:
6
6
- ../workbooks/github-advanced.html
7
7
---
8
8
9
+ ---
10
+
11
+ <span class =" mega-octicon octicon-microscope " ></span >
12
+
13
+ # GitHub Advanced
14
+
15
+ Command line deep dive, problem solving techniques, and GitHub efficiencies
16
+
17
+ <div class =" objectives " >
18
+ <input type =" checkbox " id =" obj1 " ><label for =" obj1 " >Understand and apply commit DAG concepts</label >
19
+ <input type =" checkbox " id =" obj2 " ><label for =" obj2 " >Create tag release on GitHub and command line</label >
20
+ <input type =" checkbox " id =" obj3 " ><label for =" obj3 " >Apply ignore patterns to projects</label >
21
+ <input type =" checkbox " id =" obj4 " ><label for =" obj4 " >Improve day-to-day efficiency with shortcuts</label >
22
+ <input type =" checkbox " id =" obj5 " ><label for =" obj5 " >Capture and rewrite branch history</label >
23
+ <input type =" checkbox " id =" obj6 " ><label for =" obj6 " >Utilize multiple remote repository interactions</label >
24
+ <input type =" checkbox " id =" obj7 " ><label for =" obj7 " >Use exteral Git repositories as dependencies</label >
25
+ <input type =" checkbox " id =" obj8 " ><label for =" obj8 " >Interact with GitHub from the command line</label >
26
+ </div >
27
+
28
+ ---
29
+
30
+
9
31
---
10
32
11
33
## Understanding Git, navigating history
12
34
35
+ Explore the structure and way change is preserved in Git.
36
+
13
37
---
14
38
15
39
---
@@ -92,6 +116,8 @@ $ git log --oneline --left-right master...other
92
116
93
117
## Collaborating on change & releases
94
118
119
+ Cutting and creating releases on the command line and on GitHub.
120
+
95
121
---
96
122
97
123
{% capture lab %}
@@ -170,6 +196,8 @@ $ git push origin :[tag-name-to-delete]
170
196
171
197
## Ignoring & cleaning up files
172
198
199
+ Prevent unwanted project artifacts from becoming tracked content.
200
+
173
201
---
174
202
175
203
{% capture lab %}
@@ -223,6 +251,8 @@ $ git clean -fx
223
251
224
252
## Mastering shortcuts & efficiencies
225
253
254
+ Circumvent multi-step processes and utilize temporary solutions for quick history interaction.
255
+
226
256
---
227
257
228
258
{% capture lab %}
@@ -299,6 +329,8 @@ $ git config rerere.enable true
299
329
300
330
## Capturing pieces of history
301
331
332
+ Craft and acquire commits with selective, as-needed commands.
333
+
302
334
---
303
335
304
336
{% capture lab %}
@@ -331,6 +363,8 @@ git checkout [commit] -- [path]
331
363
332
364
## Rewriting and crafting history
333
365
366
+ Rebase and reorder existing commits for improved historical context.
367
+
334
368
---
335
369
336
370
---
@@ -426,6 +460,8 @@ $ git rebase -i --autosquash [ref]
426
460
427
461
## Reviewing & synchronizing
428
462
463
+ Interact, investigate, and integrat remote repository histories.
464
+
429
465
---
430
466
431
467
{% capture lab %}
@@ -511,6 +547,8 @@ $ git config --add remote.[upstream].fetch "+refs/pull/*/head:refs/remotes/[upst
511
547
512
548
## Filtering histories & externalizing dependencies
513
549
550
+ Separate single, large repository histories into individual projects.
551
+
514
552
---
515
553
516
554
{% capture lab %}
@@ -558,6 +596,8 @@ $ git submodule update --init --recursive
558
596
559
597
## Signing work
560
598
599
+ Identify work legitimacy with easy-to-use GPG and commit functionality.
600
+
561
601
---
562
602
563
603
{% capture lab %}
@@ -607,6 +647,8 @@ $ git tag -v [tag-name]
607
647
608
648
## Using GitHub CLI and the API
609
649
650
+ Interact with GitHub features directly from the command line.
651
+
610
652
---
611
653
612
654
{% capture lab %}
@@ -663,6 +705,8 @@ There are a number of libraries for interfacing with the GitHub API, all of whic
663
705
664
706
## Diff & merge tool
665
707
708
+ Go beyond command line comparison with visual tooling.
709
+
666
710
---
667
711
668
712
{% capture lab %}
0 commit comments