forked from saivittalb/learn-git-branching-solutions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
MainCategorySolutions
102 lines (67 loc) · 1.43 KB
/
MainCategorySolutions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
1.1 Introduction to Git Commits
git commit
git commit
1.2 Branching in Git
git branch bugFix
git checkout bugFix
1.3 Merging in Git
git checkout -b bugFix
git commit
git checkout master
git commit
git merge bugFix
1.4 Rebase Introduction
git checkout -b bugFix
git commit
git checkout master
git commit
git checkout bugFix
git rebase master
2.1 Detach yo’ HEAD
git checkout C4
2.2 Relative Refs (^)
git checkout C4^
2.3 Relative Refs #2 (~)
git branch -f master C6
git branch -f bugFix C0
git checkout C1
2.4 Reversing Changes in Git
git reset local~1
git checkout pushed
git revert pushed
3.1 Cherry-pick Intro
git cherry-pick C3 C4 C7
3.2 Interactive Rebase Intro
git rebase -i master~4 --aboveAll
4.1 Grabbing Just 1 Commit
git checkout master
git cherry-pick C4
4.2 Juggling Commits
git rebase -i caption~2 --aboveAll
git commit --amend
git rebase -i caption~2 --aboveAll
git branch -f master caption
4.3 Juggling Commits #2
git checkout master
git cherry-pick C2
git commit --amend
git cherry-pick C3
4.4 Git Tags
git tag v0 C1
git tag v1 C2
git checkout C2
4.5 Git Describe
git commit
5.1 Rebasing over 9000 times
git rebase master bugFix
git rebase bugFix side
git rebase side another
git rebase another master
5.2 Multiple Parents
git branch bugWork master~^2~
5.3 Branch Spaghetti
git checkout one
git cherry-pick C4 C3 C2
git checkout two
git cherry-pick C5 C4 C3 C2
git branch -f three C2