๐ ํฌ์ธํธ!
checkout = switch ๊ธฐ๋ฅ or restrore ๊ธฐ๋ฅ โ ๋ ๊ธฐ๋ฅ ๋ชจ๋ ํฌํจ
switch = switch ๊ธฐ๋ฅ๋ง ๋ด๋น
restore = restore ๊ธฐ๋ฅ๋ง ๋ด๋น
๊ธฐ์กด, checkout์ด ๋ด๋นํ๋ 2๊ฐ์ ์ญํ ์ switch์ resotre์ด ๊ฐ๊ฐ ๋ด๋น
checkout์ ๋ธ๋์น๋ฅผ ๋ณ๊ฒฝํ๋ switch์ ์์ ๋ด์ฉ ๋ณต์๊ณผ ์คํ
์ด์ง์ ์ฌ๋ฆฐ ํ์ผ์ ๋นผ๋ด๋ resotre ๊ธฐ๋ฅ์ ๋ชจ๋ ๋ด๋นํ๋ค.
๊ธฐ๋ฅ์ด ๋๋ฌด ๋ง์ checkout๋ฅผ ๋์ ํด Git 2.23์์ switch์ restore์ด ๋์
๋์๋ค.
์์ง๊น์ง๋ checkout์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ๊ฒ ๊ฐ์๋ฐ chcekout ์ฌ์ฉ์ ๋จ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๋ฌ๋ผ์ง ๋ณํ๋ผ๊ณ ์๊ฐํด์ ์ต๋ํ checkout ์ฌ์ฉ์ ์ง์ํ๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ๋ค!
switch๋ checkout์ ๋ธ๋์น ๋ณ๊ฒฝ ๊ธฐ๋ฅ์ ๋ด๋นํ๋ค.
git switch <๋ธ๋์น ์ด๋ฆ>
โ <๋ธ๋์น ์ด๋ฆ>์ผ๋ก HEAD๊ฐ ์ด๋.
checkout์์ ์ฌ์ฉํ ์ ์์๋ -c ์ญ์ switch์์ ๊ทธ๋๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
git switch -c <์๋ก์ด ๋ธ๋์น ์ด๋ฆ>
โ <์๋ก์ด ๋ธ๋์น ์ด๋ฆ>์ด ์๋กญ๊ฒ ์์ฑ๋๋ฉด์ ํด๋น ๋ธ๋์น๋ก ์ด๋.
restore์ checkout์ ์์ ๋ด์ฉ ๋ณต์๊ณผ ์คํ
์ด์ง์ ์ฌ๋ฆฐ ํ์ผ์ ๋นผ๋ด๋ ๊ธฐ๋ฅ์ ๋ด๋นํ๋ค.
git restore README.md
โ ๋ณ๊ฒฝ ์ฌํญ ๋๋๋ฆฌ๊ธฐ.
git restore - - staged README.md
โ add . ํ ์คํ
์ด์ง์ ์ฌ๋ผ๊ฐ ํ์ผ์ ๋นผ๋ด๊ธฐ.
๐กย ์ญํ ์ด ๋ช ํํ์ง ์์๋ Checkout์ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํด ๋ ๋ช ํํ๊ฒ ํํํ๋ค๋ ์ ์์ ๊ต์ฅํ ์ข์ ๋ณํ๋ผ๊ณ ์๊ฐํ๋ค. ํ์ฌ ๊ณต๋ถํ๊ณ ์๋ ์๋ฃ์๋ checkout์ด ๋ง์ด ๋ฑ์ฅํ๋๋ฐ ์ค์ ์ฌ์ฉํ ๋๋ checkout๋ณด๋ค๋ switch์ restore์ ์ฌ์ฉํด์ผ๊ฒ ๋ค.