switch & restore

git 2.23 ๋ฒ„์ „์ด ์ถœ์‹œ๋˜๋ฉด์„œ ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋˜ checkout์ด switch์™€ restore๋กœ ๋ถ„๋ฆฌ๋๋‹ค.

๋ธŒ๋žœ์น˜ ์ „ํ™˜์€ switch๋กœ ํ•œ๋‹ค.

$ git checkout <branch>
$ git switch <branch>

๋ธŒ๋žœ์น˜ ์ƒ์„ฑ ๋ฐ ์ „ํ™˜์€ --create ์˜ต์…˜์˜ ์•ฝ์ž์ธ -c ์˜ต์…˜์„ ์ฃผ๋ฉด๋œ๋‹ค.

$ git checkout -b <branch>
$ git switch -c <branch>

์›Œํ‚น ๋””๋ ‰ํ† ๋ฆฌ ๋ณต์›์€ restore๊ฐ€ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์•„๋ฌด ์˜ต์…˜์„ ์ฃผ์ง€ ์•Š๊ฑฐ๋‚˜ --worktree ์˜ต์…˜์„ ์ฃผ๋ฉด ๋œ๋‹ค.

$ git checkout -- <file>
$ git restore <file>

์Šคํ…Œ์ด์ง€๋œ ํŒŒ์ผ์„ ์–ธ์Šคํ…Œ์ด์ง€ํ•  ๋•Œ๋Š” --staged ์˜ต์…˜์„ ์ค€๋‹ค.

$ git reset <file>
$ git restore --staged <file>

์ฐธ๊ณ ์ž๋ฃŒ

์ด ๋ฌธ์„œ๋ฅผ ์ธ์šฉํ•œ ๋ฌธ์„œ