๊ด€๋ฆฌ ๋ฉ”๋‰ด

Welcome! Everything is fine.

[TIL] 220205 ๋ณธ๋ฌธ

TIL

[TIL] 220205

๊ฐœ๋ฐœ๊ณฐ๋ฐœ 2022. 2. 6.
728x90

๐Ÿ’ป Today I Leaned...

๐Ÿ“Œ ์ƒํ™œ์ฝ”๋”ฉ - ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ - Git CLI - ๋ฒ„์ „๊ด€๋ฆฌ

๋ณด์ถฉ์ˆ˜์—…

1) git add .

์ง€๊ธˆ๊นŒ์ง€ ํ–ˆ๋˜ ์‹ค์Šต์—์„œ๋Š” git add hello1.txt ์ฒ˜๋Ÿผ add ๋‹ค์Œ์— ํŒŒ์ผ๋ช…์„ ์จ์คฌ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ git add . ์œผ๋กœ ์ ๋Š”๋‹ค๋ฉด ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์„ addํ•  ์ˆ˜ ์žˆ๋‹ค. ํ˜น์€ git add + ๋””๋ ‰ํ† ๋ฆฌ๋ช…์œผ๋กœ ์ ์œผ๋ฉด ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ‘์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์ด add๋œ๋‹ค. ํŒŒ์ผ ๋ช… ํ•˜๋‚˜ํ•˜๋‚˜ ์ ์„ ํ•„์š”๊ฐ€ ์—†๋‹ค.

 

2) git commit -am

git commit -am "Message"๋กœ ์ ์œผ๋ฉด add์™€ commit์„ ํ•œ๋ฒˆ์— ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ตœ์ดˆ 1๋ฒˆ์€ add๊ฐ€ ๋˜์–ด์„œ tracked ์ƒํƒœ๊ฐ€ ๋˜์–ด์•ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

3) ๊ธฐ๋ณธ ์—๋””ํ„ฐ ๋ณ€๊ฒฝํ•˜๊ธฐ

git commit -m์ด ์•„๋‹ˆ๋ผ git commit ์ด๋ผ๊ณ ๋งŒ ์น˜๋ฉด ๊ธฐ๋ณธ ์—๋””ํ„ฐ๊ฐ€ ๋œจ๋Š”๋ฐ, ์ด ๊ธฐ๋ณธ ์—๋””ํ„ฐ๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. change git default text editor๋ผ๊ณ  ๊ฒ€์ƒ‰ํ•ด์„œ ๊ธฐ๋ณธ ์—๋””ํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฒ•์„ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋‚˜๋Š” git config --global core.editor "nano" ๋ฅผ ์ ์–ด nano ์—๋””ํ„ฐ๋กœ ๋ฐ”๊ฟจ๋‹ค.

์‚ญ์ œ(git reset)

์ฐจ๋ก€๋Œ€๋กœ ๋ฒ„์ „ 1, 2, 3์ด ์žˆ์„ ๋•Œ, ๋ฒ„์ „ 3๋ฅผ ์ง€์šฐ๊ณ  ๋ฒ„์ „ 2๊ฐ€ ๋˜๊ณ ์‹ถ๋‹ค๋ฉด ๋ฒ„์ „ 2๋กœ ๋ฆฌ์…‹ํ•ด์•ผํ•œ๋‹ค. ์ฃผ์˜ํ•ด์•ผํ•  ์ ์€ git reset ๋ฒ„์ „ 2๋ผ๊ณ  ํ•ด์„œ ๋ฒ„์ „ 2๋ฅผ ๋ฆฌ์…‹ํ•˜๊ฒ ๋‹ค๋Š”(์ง€์šฐ๊ฒ ๋‹ค๋Š”) ๋œป์ด ์•„๋‹ˆ๋ผ, ๋ฒ„์ „ 2"๋กœ" ๋ฆฌ์…‹ํ•˜๊ฒ ๋‹ค๋Š” ๋œป์ด๋‹ค. ์ฆ‰ ์šฐ๋ฆฌ๊ฐ€ ์ด ๋ฒ„์ „์œผ๋กœ "๋ฆฌ์…‹ํ•˜๊ฒ ๋‹ค"๋ผ๋Š” ๊ฒƒ์€ ์ด ๋ฒ„์ „์ด "๋˜๊ฒ ๋‹ค"๋ผ๋Š” ๊ฒƒ์ด๋‹ค. git reset --hard์—์„œ ๋’ค์— ๋ถ™๋Š” --hard๋Š” --soft, --mixed, --merge ๋“ฑ์˜ ๋ชจ๋“œ๋‹ค.

reset์— ๋Œ€ํ•œ ์ฐธ๊ณ ์ž๋ฃŒ์ด๋‹ค.

 

Git - Reset ๋ช…ํ™•ํžˆ ์•Œ๊ณ  ๊ฐ€๊ธฐ

์ง€๊ธˆ๊นŒ์ง€ reset ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋ณธ ํ˜•ํƒœ์™€ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ดค๋‹ค. reset ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๋•Œ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜๋ฉด 1๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ์ •ํ•ด์ง„ ๊ฒฝ๋กœ์˜ ํŒŒ์ผ์—๋งŒ ๋‚˜๋จธ์ง€ reset ๋‹จ๊ณ„๋ฅผ ์ ์šฉํ•œ๋‹ค. ์ด๋Š” ๋‹น์—ฐํ•œ

git-scm.com

๋˜๋Œ๋ฆฌ๊ธฐ(git revert)

reset์˜ ๊ฒฝ์šฐ, git reset + ์ปค๋ฐ‹์•„์ด๋””๋ฅผ ์ ์œผ๋ฉด ํ•ด๋‹น ์ปค๋ฐ‹์•„์ด๋”” ๋ฒ„์ „"์œผ๋กœ"๊ฐ„๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ revert์˜ ๊ฒฝ์šฐ, git revert + ์ปค๋ฐ‹์•„์ด๋””๋ฅผ ์ ์œผ๋ฉด ํ•ด๋‹น ์ปค๋ฐ‹์•„์ด๋”” ๋ฒ„์ „์˜ "์ด์ „ ๋ฒ„์ „"์œผ๋กœ ๊ฐ„๋‹ค. ์ฃผ์˜ํ•  ์ ์€ ๋ฒ„์ „ 1, 2, 3, 4...๊ฐ€ ์žˆ๋Š” ์ƒํ™ฉ์—์„œ ๋ฒ„์ „ 1์œผ๋กœ ๊ฐ€๊ณ ์‹ถ๋‹ค๊ณ  ๋ฐ”๋กœ ๋ฒ„์ „ 2์—์„œ revert ํ•˜๋ฉด ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋ฐ˜๋“œ์‹œ ์—ญ์ˆœ์œผ๋กœ ์ฐจ๋ก€๋Œ€๋กœ revert ํ•ด์•ผํ•œ๋‹ค. ์•„๋‹ˆ๋ฉด ์ถฉ๋Œ์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค.

์ˆ˜์—… ๋

  • diff tool ๊ฒ€์ƒ‰ํ•ด์„œ ์ข‹์€ ๋„๊ตฌ๋“ค๋กœ ์ฐจ์ด ํ™•์ธํ•ด๋ณด๊ธฐ
  • ๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ํ•˜์ง€๋ง์•„์•ผ ํ•  ํŒŒ์ผ์€ .gitignore๋ผ๋Š” ํŒŒ์ผ์„ ๋งŒ๋“  ํ›„ ์ด๋ฆ„ ์ ๊ธฐ
  • branch๋Š” ๋งˆ์น˜ ํ‰ํ–‰์šฐ์ฃผ์ฒ˜๋Ÿผ ์ €์žฅ์†Œ๋ฅผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ƒํƒœ๋กœ ๊ณต์กดํ•˜๊ฒŒ ํ•จ. (ํ•˜๋‚˜์˜ ์ €์žฅ์†Œ์—์„œ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ์Œ)
  • ๊ฐ๊ฐ์˜ ๋ฒ„์ „์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์ปค๋ฐ‹ ์•„์ด๋””๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ๊ธฐ์–ตํ•˜๊ธฐ ์–ด๋ ค์›€. ์ปค๋ฐ‹์•„์ด๋”” ๋Œ€์‹  ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฌ์šด ์ด๋ฆ„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด? ์ด๋Ÿฐ ๊ฒฝ์šฐ๋ฅผ ์œ„ํ•ด ์ค€๋น„๋œ ๊ฒƒ์ด tag.
  • backup

'TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TIL] 220207  (0) 2022.02.07
[TIL] 220206  (0) 2022.02.06
[TIL] 220204  (0) 2022.02.04
[TIL] 220203  (0) 2022.02.03
[TIL] 220130  (0) 2022.01.30