-
Notifications
You must be signed in to change notification settings - Fork 0
/
git_rebase.txt
30 lines (29 loc) · 958 Bytes
/
git_rebase.txt
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
INIT:
branches (current state of local repo, where C means 'commit')
- main (C1, C2, C3)
- feature (C4, C5, C6)
FLOW:
-- rebase provadej v ne-public branchi (zde feature)
git switch feature
git rebase -i HEAD~3 (znamena kolik poslednich komitu, zde 3, tzn. C4+5+6)
otevre se editor vim (insert)
u radek C4 a C5 nahradis pick slovem squash
uloz a uzavri vim (escape, :, wq!)
a posledni commit (resp. message) je slozen ze 3 poslednich (C4,C5,C6) message
git rebase master
kdyz nastane konflikt, spust
git mergetool (vyres jeden po druhem/vsechny)
git rebase --continue (dokoncis rebase)
-- do main vetve zamerguj uz rebased/squashed branch
git switch master
git merge feature
git log
pribyly preskladane comity z feature branche na vrcholu (kontinualni historie)
a zaroven comity z feature branche se tvari jako jedna message (prehlednost)
mel bys videt (*=commit message):
* C4
C5
C6
* C3
* C2
* C1