์ค๋์ ํ์ฌ ๋๋ฃ๋ถ์ด ์ถ์ฒํด ์ค ๊ฐ๋ฐ ํด, Lazy Git์ ๋ํด ํฌ์คํ ํ๋ ค๊ณ ํ๋ค.
Lazygit์ ์ด๋ฆ์ฒ๋ผ, git์ ๋์ฑ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ๋๊ตฌ์ด๋ค. CLI๋ฅผ ์ด์ฉํ์ฌ git์ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๋ค์ด ๋ณด๋ค ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ค์ด์ก๋๋ฐ, ๋ํ์ ์ธ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ๋ค.
Stage Individual Lines ( ์คํ ์ด์ง ๊ฐ๋ณ ์ ํ ๊ธฐ๋ฅ )
์คํ์ด์ค๋ฅผ ๋๋ฌ ์ ํํ ๋ผ์ธ์ ์คํ ์ด์ง ํ๊ฑฐ๋, v๋ฅผ ๋๋ฌ ๋ผ์ธ ๋ฒ์ ์ ํ์ ํ ์ ์๋ค. ๋ํ a๋ฅผ ๋๋ฌ ํ์ฌ hank ์ ์ฒด ์ ํ๋ ๊ฐ๋ฅํ๋ค.
Interactive Rebase ( ์๋ฐฉํฅ ๋ฆฌ๋ฒ ์ด์ค )
i๋ฅผ ๋๋ฅด๋ฉด ์๋ฐฉํฅ์ ๋ฆฌ๋ฒ ์ด์ค๊ฐ ์์๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ค์ฟผ์(s), fixup(f), drop(d), edit(e), move up(ctrl+i) ๋๋ move down(ctrl+j) TODO ์ปค๋ฐ์ ์ํํ ํ, m๊ณผ ํจ๊ป ๋ฆฌ๋ฒ ์ด์ค ์ต์ ๋ฉ๋ด๋ฅผ ๋ถ๋ฌ์ค๊ณ , continue๋ฅผ ์ ํํ์ฌ ๋ฆฌ๋ฒ ์ด์ค๋ฅผ ๊ณ์ ์งํํ๋ค.
Cherry-pick
commit์์ shift+c๋ฅผ ๋๋ฌ ๋ณต์ฌํ๊ณ , shift+v๋ฅผ ๋๋ฌ ๊ฐ๋จํ๊ฒ ๋ถ์ฌ๋ฃ๊ธฐ(cherry-pick) ํ๋ค.
Bisect
b๋ฅผ ๋๋ฌ, ์ปค๋ฐ ๋ณด๊ธฐ์์ ๋ฐ์ด์นํธ (์ํธ / ๋ถ๋)์ผ๋ก ํ์ํ ์ ์๋ค.
Nuke the working tree
git status (๊ทธ๋ฆฌ๊ณ ๋ํฐ ์๋ธ๋ชจ๋์ ํฌํจํ๋ yes) kidpix style์ ์คํํ ๋ ๋ํ๋๋ ๋ชจ๋ ๊ฒ์ ์ ๊ฑฐํ๊ณ ์ถ์ ๋ shift+d๋ฅผ ๋๋ฌ ๋ฆฌ์ ์ต์ ๋ฉ๋ด๋ฅผ ํ์ํ ๋ค์ 'nuke' ์ต์ ์ ์ ํํ์ฌ ๋ชจ๋ ๊ฒ์ ์ ๊ฑฐํ ์ ์๋ค.
Amend an old commit ( ์ด์ ์ปค๋ฐ ์์ )
์์์ ์ปค๋ฐ์์ shift + a ๋ฅผ ๋๋ฅด๋ฉด ํ์ฌ ๋จ๊ณ๊ฐ ๋ณ๊ฒฝ๋ ์ปค๋ฐ์ด ์์ ๋๋ค. (๋ฐฑ๊ทธ๋ผ์ด๋์์ interactive rebase ์คํ)
Filter
'/'๋ก ๋ทฐ๋ฅผ ํํฐ๋ง ํ ์ ์๋ค.
Invoke a custom command ( ์ฌ์ฉ์ ์ง์ ๋ช ๋ น ํธ์ถ )
Lazygit์ ๋งค์ฐ ์ ์ฐํ ์ฌ์ฉ์ ์ ์ ๋ช ๋ น ์์คํ ์ ๊ฐ์ง๊ณ ์๋ค. ์์ ์์์์๋ ๋ด์ฅ๋ ์ง์ ์ ๋ํ ์ฒดํฌ์์ ์์ ์ ์๋ฎฌ๋ ์ดํธํ๋ ์ฌ์ฉ์ ์ ์ ๋ช ๋ น์ ์ ์ํ๋ค.
Worktrees
์์ ํธ๋ฆฌ๋ฅผ ์์ฑํ๋ฉด, ์ฌ๋ฌ ๋ธ๋์น ๊ฐ์ ์ ํํ ๋ WIP ์ปค๋ฐ์ ์์ฑํ๊ฑฐ๋ ์ ์ฅํ ํ์ ์์ด, ์ฌ๋ฌ ๋ธ๋์น๊ฐ ํ ๋ฒ์ ์ด๋ํ๋๋ก ํ ์ ์๋ค. ๋ธ๋์น ๋ทฐ์์ w๋ฅผ ๋๋ฅด๋ฉด ์ ํํ ๋ธ๋์น์์ ์์ ํธ๋ฆฌ๊ฐ ์์ฑ๋์ด ๋ธ๋์น๋ก ์ ํ๋๋ค.
๋ฑ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ๋ค์ด ์กด์ฌํ๋ค. ์๋์ ์ถ์ฒ์ Lazygit ์ ๋๋ฅด๋ฉด, Lazygit github ์์ ๋ ๋ง์ ๋ด์ฉ์ ํ์ธํ ์ ์๋ค.
๋ ์์ธํ ๋ฐฐ์ฐ๋ ค๋ฉด ํํ ๋ฆฌ์ผ์ ์ฐธ๊ณ ํ์.
๋ด๊ฐ ์จ๋ณด๊ณ Lazygit์์ ํนํ ์ข์๋ค๊ณ ๋๊ผ๋ ๊ธฐ๋ฅ์
1. ๋ธ๋์น ์ด๋์์ด ๋ค๋ฅธ ๋ธ๋์น pull ๋ฐ๊ธฐ.
2. ํธ๋ฆฌํ rebase & ๋ถ๊ฐ ๊ธฐ๋ฅ
3. ๊ท์ฌ์ด UI
4. ๊ธฐ์กด์ ์ฌ์ฉํ๋ ์์คํธ๋ฆฌ์ ๋นํด ๋น ๋ฅธ ์๋.
๋ฑ์ผ๋ก, ํ์ฌ ๋ฟ๋ง์๋๋ผ ๊ฐ์ธ PC์๋ ์ค์นํ์ฌ ์ด์ฌํ ์ฌ์ฉํ๊ณ ์๋ค!!
์ฃผ๋ณ์ ์๋ ๊ฐ๋ฐ์๋ค์๊ฒ ์ถ์ฒํด์ฃผ๊ณ ์ถ์ ํด์ด๋ค! ๐
์ค์น ๋ฐฉ๋ฒ์ ์ฌ์ดํธ์ ์์ธํ ๋์์์ง๋ง, brew๊ฐ ๊น๋ ค์๋ค๋ฉด brew๋ฅผ ํตํด ์ค์นํ๋ฉด ๋๋ค.
brew install jesseduffield/lazygit/lazygit
๐ธ ์ถ์ฒ ๐ธ
'Etc' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Side Project] ๊ฐ๋ก์ธ๋ก ๋ฑ๋งํด์ฆ ๊ฒ์ ๋ง๋ค๊ธฐ(01) (1) | 2024.12.01 |
---|---|
[ ๊ฐ๋ฐ๋์ ์ถ์ฒ ] ๋ฆฌํฉํฐ๋ง 2ํ (0) | 2024.07.21 |
[Docker] Docker ์ CI CD <01> (0) | 2024.03.11 |
[ TS ] TypeScript 5.4 ์๋ก์ด ๊ธฐ๋ฅ ์์๋ณด๊ธฐ. (1) | 2024.02.04 |
[ Safari ] ์์ดํฐ์ ์ฌํ๋ฆฌ ๋ชจ๋ฐ์ผ ์น ๋๋ฒ๊น ํ๋ ๋ฐฉ๋ฒ (0) | 2023.05.14 |