06. git rebase practice: solution - nephilim/js-git-kata GitHub Wiki
-
์์ 0. git graph
* f70ec47 - (HEAD, master) line7 added (4 days ago) * 8411c8c - line6 added (4 days ago) * b781d82 - merged with line(3,4) (4 days ago) |\ | * 9c6da70 - (line) line4 added (3 weeks ago) | * d9161bf - line3 added (3 weeks ago) * | 07ea1bc - line5 added (4 days ago) // ์์ ๋์ changeset |/ * 21bb6d0 - line2 added (4 weeks ago) * 3a55ae2 - line1 added (4 weeks ago) * a3d8a4f - initial commit (4 weeks ago)
-
๊ณผ๊ฑฐ๋ก ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ๊ธฐ
-
git checkout 07ea1bc
-
git graph
* f70ec47 - (master) line7 added (4 days ago) * 8411c8c - line6 added (4 days ago) * b781d82 - merged with line(3,4) (4 days ago) |\ | * 9c6da70 - (line) line4 added (3 weeks ago) | * d9161bf - line3 added (3 weeks ago) * | 07ea1bc - (HEAD) line5 added (4 days ago) // HEAD๋ง ์ด๋ |/ * 21bb6d0 - line2 added (4 weeks ago)
-
reset or checkout?
- checkout์ผ๋ก HEAD๋ง ์ด๋
-
-
cat test.txt
line1 line2 line5"
-
text editor๋ก ์์
-
์ํ ํ์ธ
git status
- ์์ ๋ ํ์ผ staging/indexing:
git add `git ls-files --modified`
git ls-files --modified
: ls-files์ ์ดํด--stage
๋ก staging๊ฒฐ๊ณผ ํ์ธ--other --exclude-standard
๋ก untracked
-
amend commit
-
git commit --amend -a -C HEAD
-
git graph: SHA ๋
?
๋ ์์ฑํ๋ ์ํฉ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง์ ์๋ฏธ* 8226863? - (HEAD) line5 added (14 seconds ago) | * f70ec47 - (master) line7 added (4 days ago) // | * 8411c8c - line6 added (4 days ago) // | * b781d82 - merged with line(3,4) (4 days ago) | |\ | | * 9c6da70 - (line) line4 added (3 weeks ago) // | | * d9161bf - line3 added (3 weeks ago) // 21bb6d0๊ฐ ๋ถ๋ชจ | |/ |/| | * 07ea1bc - line5 added (4 days ago) |/ * 21bb6d0 - line2 added (4 weeks ago)
-
-
์๋กญ๊ฒ merge
-
git merge line
- ์ถฉ๋ ์์
-
git commit -C b781d82
- b781d82์ commit message ์ฌํ์ฉ
-
git graph
* 7fac362? - (HEAD) merged with line(3,4) (13 seconds ago) |\ * | 8226863? - line5 added (4 minutes ago) | | * f70ec47 - (master) line7 added (4 days ago) | | * 8411c8c - line6 added (4 days ago) | | * b781d82 - merged with line(3,4) (4 days ago) | | |\ | | |/ | |/| | * | 9c6da70 - (line) line4 added (3 weeks ago) | * | d9161bf - line3 added (3 weeks ago) |/ / | * 07ea1bc - line5 added (4 days ago) |/ * 21bb6d0 - line2 added (4 weeks ago)
-
-
master ์ด๋
-
git checkout master
-
git reset --hard 7fac362?
-
git graph
* 7fac362? - (HEAD, master) merged with line(3,4) (6 minutes ago) |\ | * 9c6da70 - (line) line4 added (3 weeks ago) | * d9161bf - line3 added (3 weeks ago) * | 8226863? - line5 added (10 minutes ago) |/ * 21bb6d0 - line2 added (4 weeks ago)
-
-
rebase
-
git rebase --onto HEAD b781d82 f70ec47
- ํด์:
f70ec47 - b781d82
๋ฅผ HEAD์ ๋ถ์ธ๋ค - line6, line7 commit์ merge ๊ฒฐ๊ณผ์ ๋ํ๋ ๊ฒ๊ณผ ๊ฐ์
git cherrypick 8411c8c
(line6)๊ณผgit cherrypick f70ec47
(line7)์ผ๋ก ๋์ฒด ๊ฐ๋ฅ
- ํด์:
-
์ถฉ๋ ํด๊ฒฐ
-
git add .
: patch์ ์ฉ ํ commit ์ rebase์๊ฒ ๋งก๊ธด๋ค -
git rebase --continue
-
git graph
* 75b1e5d? - (HEAD) line7 added (24 seconds ago) * b00bba1? - line6 added (24 seconds ago) * 7fac362? - (master) merged with line(3,4) (15 minutes ago) |\ | * 9c6da70 - (line) line4 added (3 weeks ago) | * d9161bf - line3 added (3 weeks ago) * | 8226863? - line5 added (18 minutes ago) |/ * 21bb6d0 - line2 added (4 weeks ago)
-
-
-
๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ
-
interactive rebase
-
git rebase -i 21bb6d0
1 edit 07ea1bc line5 added // pick > edit 2 pick d9161bf line3 added 3 pick 9c6da70 line4 added 4 pick 8411c8c line6 added 5 pick f70ec47 line7 added 6 7 # Rebase 21bb6d0..f70ec47 onto 21bb6d0
-
-
cat test.txt
ํ ์์ -
git add test.txt
git rebase --continue
(๋ฐ๋ณต)-
git graph
* 73e1039 - (HEAD, master) line7 added (14 seconds ago) * 50c1835 - line6 added (16 seconds ago) * ac8f855 - line4 added (37 seconds ago) * 9b6f5a6 - line3 added (74 seconds ago) * 235f05d - line5 added (2 minutes ago) | * 9c6da70 - (line) line4 added (3 weeks ago) | * d9161bf - line3 added (3 weeks ago) |/ * 21bb6d0 - line2 added (4 weeks ago)
-
-
git branch -D line
* 73e1039 - (HEAD, master) line7 added (3 minutes ago) * 50c1835 - line6 added (3 minutes ago) * ac8f855 - line4 added (3 minutes ago) * 9b6f5a6 - line3 added (4 minutes ago) * 235f05d - line5 added (5 minutes ago) // ...
-
-
TODO: github์ ์ฌ๋ ค๋๊ณ ์์ ํ๋ฉด ๋ ์๋ก์