[Git] stash
์ฌ๋ฟ์ด์ Git์ ์ฌ์ฉํด ํ์ ์ ํ๋ค๋ณด๋ฉด, ์์ ์ด ์งํํ๋ ์์ ์ ํตํด๋๊ณ ๋ค๋ฅธ ์์ ์ ํด์ผํ ๊ฒฝ์ฐ๊ฐ ๋น๋ฒํ๋ค.
stash๋ ๊ทธ๋ด ๋ ์ฌ์ฉํ๋ "์์ ์ ์ฅ"์ฉ ๊ธฐ๋ฅ์ด๋ผ๊ณ ํ ์ ์๋ค.
๊ทธ๋ฅ ์ ๋ถ ๋ค commit์ผ๋ก ์ ์ฅํด๋ ๋์ง๋ง, ๊ทธ๋ฌ๋ฉด ์ปค๋ฐ ํ์คํ ๋ฆฌ๊ฐ ์ง์ ๋ถํด์ ธ์ rebase๋ฅผ ํด์ค์ผ ํ๋ค.
stash๋ commit๊ณผ๋ ์ข ๋ค๋ฅธ ๊ธฐ์ ์ผ๋ก ๋์ํ๋ค.
stash์ ๋ฃ๊ณ ๋นผ๊ธฐ
stash๋ ์คํ๊ตฌ์กฐ๋ก ์ปค๋ฐ๋์ง ์์ ์์ค ๋ณ๊ฒฝ์ฌํญ์ ์ ๋ถ ์ ์ฅํ๋ค.
๋ฃ๋๊ฑด git stash, ๋ค์ ๋นผ๋๊ฑด git stash pop ๋ช
๋ น์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ค.
๋ง์ฝ ์ด๋ ๊ฒ ์ปค๋ฐ์ด ๋์ด์๋ ์ํ์์

์ฝ๋๋ฅผ ์ถ๊ฐ๋ก ์์ฑํ๊ณ

git stash๋ฅผ ํ๋ค๋ฉด,

์ถ๊ฐ๋ก ์์ฑํ ํญ๋ชฉ์ด ์์์ ์ฅ๋๊ณ , ์ด์ ์ ์ํ๋ก ๋์๊ฐ ๊ฒ์ด๋ค.

๊ทธ๋ฆฌ๊ณ ๋ค์ ์ ์ฅ๋ ํญ๋ชฉ์ ๋ถ๋ฌ์ค๋ ค๋ฉด stash pop์ ์ฌ์ฉํ๋ฉด ๋๋ค.

๊ทธ๋ผ ๋ค์ ์ ๋์์ฌ ๊ฒ์ด๋ค.

๋ง์ฝ ์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ(github ๋ฑ)๋ฅผ ํตํด์ ์ธ๋ถ ์ปค๋ฐ์ ๋ฐ์ ์์ ํ๊ฒ ๋๋๋ผ๋,

stash๋ก ๋๋ ์์ ์ ๊ฟ์ณ๋๊ณ , ๋ฐ์์ ์์ ํ๋ฉด ๋ ๋ฟ์ด๋ค.

๋น์ฐํ stash๋ ๊ฒน์น๋ฉด conflict๊ฐ ๋๋๋ฐ, ์ด๋ฐ๊ฑด ์์์ ์ mergeํด์ฃผ๋ฉด ๋๋ค.

๋ฉ์ธ์ง ๋จ๊ธฐ๊ธฐ
stash๋ ๊ทธ๋ฅ ์จ๋ ๋๊ธด ํ์ง๋ง, ์ปค๋ฐ์ฒ๋ผ -m ํ๋๊ทธ๋ก ๋ฉ์ธ์ง๋ฅผ ๋จ๊ธธ ์๋ ์๋ค.

stash ์ํํ์ธ
stash์ ์ ์ฅ์ํ๋ฅผ ํ์ธํ๊ณ ์ถ๋ค๋ฉด stash list ๋ช
๋ น์ ์ฌ์ฉํ๋ฉด ๋๋ค.
๊ทธ๋ผ ํ์ฌ ์ ์ฅ๋ stash์ ๋ธ๋์น์ ๋ฉ์ธ์ง ๋ฑ์ ๋ณด์ฌ์ค ๊ฒ์ด๋ค.

ํ๋ ์ด์์ stash๊ฐ ์์ฌ์๋ค๋ฉด, ์ญ์์ผ๋ก stash๊ฐ ๋ ธ์ถ๋ ๊ฒ์ด๋ค. ์คํ์ด๋ ๋ง์ด๋ค.

์ค๊ฐ์์ ๋นผ์ค๊ธฐ
stash๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์คํ ํํ๋ก ๋์ํ์ง๋ง, ์ํ๋ค๋ฉด ๋ฌด์ํ ์๋ ์๋ค.


stash list์์ ํ์ธ๋๋ ์ผ์ชฝ์ ์๋ณ์๋ฅผ ๋ฌธ์์ด๋ก ๊ฐ์ธ์ ์ธ์๋ก ์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
stash ๋ ๋ฆฌ๊ธฐ
์์ฌ์๋ stash ์ ์ฅ๋ด์ญ์ ๋ ๋ฆฌ๊ณ ์ถ๋ค๋ฉด, stash clear๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.

apply & drop
์ ๋ง์ด์ง ๊ฐ๋จํ๋ stash pop์ ์ฌ์ค, apply์ drop 2๊ฐ์ง ๋ช ๋ น์ด ๊ฒฐํฉ๋ ๋์์ด๋ค.
apply๋ stash์์ ๋ณ๊ฒฝ๋ด์ญ์ ๊ฐ์ ธ์ค๋ ๋ช
๋ น์ด๊ณ , drop์ stash ๋ด์ญ์์ ๊ทธ๊ฑธ ์ญ์ ํ๋ ๋ช
๋ น์ด๋ค.
stash pop์ 0 ์ธ๋ฑ์ค์ ๋ํด ์ด 2๊ฐ์ง๋ฅผ ์๋์ผ๋ก ์คํํด์ฃผ๋ ๊ฒ์ด๋ผ ๋ณด๋ฉด ๋๋ค.
apply๋ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ค.
์๋ฌด ์ธ์๋ฅผ ์ฃผ์ง ์์ผ๋ฉด pop์ฒ๋ผ ์ต๊ทผ๋ด์ญ์ ๊ฐ์ ธ์ค๋, ์ญ์ ๋ ํ์ง ์๋๋ค.

drop๋ ์ฌ์ฉ์กฐ๊ฑด์ ๋์ผํ๋ค. ์ธ์๋ฅผ ์ฃผ์ง ์๋๋ค๋ฉด ๊ฐ์ฅ ์ต๊ทผ๋ด์ญ์ ์ญ์ ํ๋ค.

๋ธ๋์น๋ก ๋ถ๋ฆฌํ๊ธฐ
์์
ํด๋จ๋ stash ๋ด์ญ ์์ฒด๋ฅผ ๋ธ๋์น๋ก ๋ถ๋ฆฌํด์ ๊ด๋ฆฌํ๊ณ ์ถ์ ์๋ ์๋ค.
stash branch๋ ๊ทธ๋ด ๋ ์ฌ์ฉํ๋ ๋ช
๋ น์ด๋ค.

stash branch <๋ธ๋์น๋ช >์ ํํ๋ก ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด,
๊ฐ์ฅ ์ต๊ทผ์ stash๋ฅผ pop ํ๋ค์์, ๋ธ๋์น๋ฅผ ๋ง๋ค๊ณ ๊ทธ ๋ธ๋์น๋ก ์๋ ์ ํ๊น์ง ํด์ค๋ค.

๊ทธ๋ ๋ค.
์ฐธ์กฐ
https://www.lainyzine.com/ko/article/git-stash-usage-saving-changes-without-commit/