๐Ÿ“… TIL #18

git ๊ฐ„๋‹จํ•œ ๋ช…๋ น์–ด


๐Ÿ‘‰ git ๊ฐ„๋‹จํ•œ ๋ช…๋ น์–ด

1.ํŒŒ์ผ ์กฐํšŒ

  • ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๋ชจ๋“  ํŒŒ์ผ ์กฐํšŒ (ํ™ˆ์—์„œ ํ•˜๋ฉด ํ™ˆ์—์„œ ๋ชจ๋“  ํŒŒ์ผ ์กฐํšŒ)
    => ls

  • ๋ชจ๋“  ํŒŒ์ผ์— ๋Œ€ํ•œ ์„ธ๋ถ€์ ์ธ ๋‚ด์šฉ๊นŒ์ง€ ์•Œ๊ณ  ์‹ถ์„ ๋•Œ (ex. ๋งŒ๋“  ์‹œ๊ฐ„, ๊ด€๋ฆฌ์ž์ด๋ฆ„ ๋“ฑ๋“ฑ)
    => ls -al


2.๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

  • ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ (ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ ๊ฐœ์ธํ™” ํŒŒ์ผ๋“ค์ด ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ)
    => cd ~ (์—ฌ๊ธฐ์„œ cd ์˜ ๋œป์€ change directory์˜ ์•ฝ์ž)

  • ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ (์‹œ์Šคํ…œ์˜ ์ตœ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ)
    => cd /

  • ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ
    => cd .

  • ๋ถ€๋ชจ ๋””๋ ‰ํ† ๋ฆฌ(์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ)๋กœ ์ด๋™
    => cd ..

  • ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ํ™•์ธ
    => pwd (print working directory)

:point_up: ํŒŒ์ผ ์ด๋ฆ„์„ ๋๊นŒ์ง€ ๋‹ค ์น  ํ•„์š”์—†์ด, ์ค‘๊ฐ„์— [tap] ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ž๋™ ์™„์„ฑ์ด ๋œ๋‹ค.


3.ํŒŒ์ผ ์ƒ์„ฑ

  • ๋นˆ ํŒŒ์ผ ์ƒ์„ฑ (ex. txt, html, js ๊ฐ™์€ ํŒŒ์ผ)
    => touch [ํŒŒ์ผ์ด๋ฆ„.ํ™•์žฅ์ž] (ex. touch hello.txt)

  • ๋นˆ ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ
    => mkdir [ํŒŒ์ผ ์ด๋ฆ„]


4.ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ ์ˆ˜์ •

  • ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ ์˜ฎ๊ธฐ๊ธฐ
    => mv [ํŒŒ์ผ or ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„] [ํƒ€๊ฒŸ ๋””๋ ‰ํ† ๋ฆฌ]

  • ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ
    => mv [ํŒŒ์ผ or ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„] [ํƒ€๊ฒŸ ์ƒˆ๋กœ์šด ์ด๋ฆ„]

  • ํŒŒ์ผ ๋ณต์‚ฌ
    => cp [ํŒŒ์ผ] [ํƒ€๊ฒŸ ๋””๋ ‰ํ† ๋ฆฌ]

  • ๋””๋ ‰ํ† ๋ฆฌ ๋ณต์‚ฌ
    => cp -r [๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„]

  • ํŒŒ์ผ์•ˆ์˜ ๋‚ด์šฉ ํ™•์ธ
    => cat [ํŒŒ์ผ ์ด๋ฆ„]


5.์‚ญ์ œ

rm ๋ช…๋ น์–ด๋Š” ์ •๋ง ์‚ญ์ œํ•  ๊ฒƒ์ธ์ง€ ํ™•์ธ์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ•œ ๋ฒˆ ์‚ญ์ œ๋œ ํŒŒ์ผ์€ ํœด์ง€ํ†ต์— ๋“ค์–ด๊ฐ€์ง€ ์•Š๋Š”๋‹ค. ๋ช…์‹ฌํ•  ๊ฒƒ!!

  • ํŒŒ์ผ ์‚ญ์ œ
    => rm [ํŒŒ์ผ ์ด๋ฆ„]

  • ๋””๋ ‰ํ† ๋ฆฌ ์‚ญ์ œ
    => rm -r [๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„]

์ ˆ๋Œ€ ์“ฐ๋ฉด ์•ˆ๋˜๋Š” ๋ช…๋ น์–ด, ์ „๋ถ€ ๋‹ค ์‚ญ์ œํ•œ๋‹ค.

=> rm -rf/


6.๊ด€๋ฆฌ์ž ๊ถŒํ•œ

=> sudo ๋ช…๋ น์–ด๋Š” ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•œ๋‹ค๋Š” ๋œป. ('super user do' ์˜ ์•ฝ์ž)


7.ํŒŒ์ผ ์†Œ์œ ๊ถŒ ๋ณ€๊ฒฝ

=> sudo chown owner: group file


8.ํ…์ŠคํŠธ ์—๋””ํ„ฐ

  • ํŒŒ์ผ ๋‚ด์šฉ์„ CLI ์—์„œ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์•Œ์•„๋‘๋ฉด ์–ธ์  ๊ฐ„ ๋„์›€ ๋  ๋ช…๋ น์–ด!
    => vim [ํŒŒ์ผ ์ด๋ฆ„]


9.ํŒŒ์ผ์—ด๊ธฐ

  • ํ•ด๋‹น ์œ„์น˜์—์„œ ๋””๋ ‰ํ† ๋ฆฌ ์—ด๊ธฐ
    => open . ๋˜๋Š” xdg-open .



๐Ÿ‘‰ git ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ ์กฐํšŒ

1.git log

git์—๋Š” ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ช…๋ น์–ด git log๊ฐ€ ์žˆ๋‹ค.


  • git diff
    ์ด ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ์ˆ˜์ •๋œ ๋ผ์ธ๊ณผ ์ˆ˜์ •ํ•œ ๋ผ์ธ์„ ๋น„๊ตํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์Šคํฌ๋ฆฐ์ƒท, 2021-01-27 23-44-46


  • git log โ€“graph
    ์ด ๋ช…๋ น์–ด๋Š” ์ปค๋ฐ‹ํ•œ ๋ธŒ๋žœ์น˜์™€ ํžˆ์Šคํ† ๋ฆฌ ์ •๋ณด๊นŒ์ง€ ๊ทธ๋ž˜ํ”„๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์Šคํฌ๋ฆฐ์ƒท, 2021-01-27 23-46-36

  • git log -p
    ์—ฌ๋Ÿฌ ์˜ต์…˜ ์ค‘ -p, โ€“patch ๋Š” ๊ต‰์žฅํžˆ ์œ ์šฉํ•œ ์˜ต์…˜์ด๋‹ค. -p ๋Š” ๊ฐ ์ปค๋ฐ‹์˜ diff ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ๋‹ค๋ฅธ ์œ ์šฉํ•œ ์˜ต์…˜์œผ๋กœ -2๊ฐ€ ์žˆ๋Š”๋ฐ ์ตœ๊ทผ ๋‘ ๊ฐœ์˜ ๊ฒฐ๊ณผ๋งŒ ๋ณด์—ฌ์ฃผ๋Š” ์˜ต์…˜์ด๋‹ค.

์Šคํฌ๋ฆฐ์ƒท, 2021-01-27 23-50-41

:exclamation: git log ์ฃผ์š” ์˜ต์…˜

์˜ต์…˜ ์„ค๋ช…
-p ๊ฐ ์ปค๋ฐ‹์— ์ ์šฉ๋œ ํŒจ์น˜๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.
--stat ๊ฐ ์ปค๋ฐ‹์—์„œ ์ˆ˜์ •๋œ ํŒŒ์ผ์˜ ํ†ต๊ณ„์ •๋ณด๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.
--shortstat โ€“stat ๋ช…๋ น์˜ ๊ฒฐ๊ณผ ์ค‘์—์„œ ์ˆ˜์ •ํ•œ ํŒŒ์ผ, ์ถ”๊ฐ€๋œ ๋ผ์ธ, ์‚ญ์ œ๋œ ๋ผ์ธ๋งŒ ๋ณด์—ฌ์ค€๋‹ค.
--name-only ์ปค๋ฐ‹ ์ •๋ณด์ค‘์—์„œ ์ˆ˜์ •๋œ ํŒŒ์ผ์˜ ๋ชฉ๋ก๋งŒ ๋ณด์—ฌ์ค€๋‹ค.
--name-status ์ˆ˜์ •๋œ ํŒŒ์ผ์˜ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ค„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•œ ๊ฒƒ์ธ์ง€, ์ˆ˜์ •ํ•œ ๊ฒƒ์ธ์ง€, ์‚ญ์ œํ•œ ๊ฒƒ์ธ์ง€๋„ ๋ณด์—ฌ์ค€๋‹ค.
--abbrev-commit 40์ž ์งœ๋ฆฌ SHA-1 ์ฒดํฌ์„ฌ์„ ์ „๋ถ€ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ฒ˜์Œ ๋ช‡ ์ž๋งŒ ๋ณด์—ฌ์ค€๋‹ค.
--relative-date ์ •ํ™•ํ•œ ์‹œ๊ฐ„์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ โ€œ2 weeks agoโ€ ์ฒ˜๋Ÿผ ์ƒ๋Œ€์ ์ธ ํ˜•์‹์œผ๋กœ ๋ณด์—ฌ์ค€๋‹ค.
--graph ๋ธŒ๋žœ์น˜์™€ ๋จธ์ง€ ํžˆ์Šคํ† ๋ฆฌ ์ •๋ณด๊นŒ์ง€ ์•„์Šคํ‚ค ๊ทธ๋ž˜ํ”„๋กœ ๋ณด์—ฌ์ค€๋‹ค.
--pretty ์ง€์ •ํ•œ ํ˜•์‹์œผ๋กœ ๋ณด์—ฌ์ค€๋‹ค. ์ด ์˜ต์…˜์—๋Š” oneline, short, full, fuller, format์ด ์žˆ๋‹ค. format์€ ์›ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
--oneline โ€“pretty=oneline โ€“abbrev-commit ๋‘ ์˜ต์…˜์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.


  • ์กฐํšŒ ์ œํ•œ์กฐ๊ฑด

--since๋‚˜ --until ๊ฐ™์€ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์กฐํšŒํ•˜๋Š” ์˜ต์…˜์€ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค. ์ง€๋‚œ 2์ฃผ ๋™์•ˆ ๋งŒ๋“ค์–ด์ง„ ์ปค๋ฐ‹๋“ค๋งŒ ์กฐํšŒํ•˜๋Š” ๋ช…๋ น์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

$ git log --since=2.weeks - -

์ด ์˜ต์…˜์€ ๋‹ค์–‘ํ•œ ํ˜•์‹์„ ์ง€์›ํ•œ๋‹ค.โ€2021-01-28โ€ ๊ฐ™์ด ์ •ํ™•ํ•œ ๋‚ ์งœ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  โ€œ1 years 2 day 3 minutes agoโ€ ๊ฐ™์ด ์ƒ๋Œ€์ ์ธ ๊ธฐ๊ฐ„์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

:pray: ์ฐธ์กฐ ๋งํฌ

๐Ÿ‘Š ๋‚ด์ผ์˜ TIW(today I Will)

CSS Selector