๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Git ๊ด€๋ จ

<TIL> / Git ๊ธฐ์ดˆ (Git bash ๋‹จ์ถ•ํ‚ค) .1

by ๊ถŒ์Šพํ–„ 2023. 5. 15.

//2023.05.15

์˜ค๋Š˜์€ Git์˜ ๊ธฐ์ดˆ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉด์„œ ๋ณด๊ณ  ๋ฐฐ์šด ์ ์„ ๋„์ ์—ฌ ๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค.

ํ”ผ๋“œ๋ฐฑ์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์ด ๋ณด์ด์‹œ๋ฉด, ๋‹ต๊ธ€ ๋‹ฌ์•„์ฃผ์‹œ๋ฉด ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค !!

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค 'ใ…'


Git bash ๋ช…๋ น์–ด

 

$ pwd : ํ˜„์žฌ ๊ฒฝ๋กœ ํ™•์ธํ•˜๊ธฐ

$ pwd
/c/Users/USER

/c: ๋กœ์ปฌ๋””์Šคํฌ ์•ˆ์— /Users์•ˆ์— /USER ํด๋”์—์„œ ํ˜„์žฌ ์ž‘์—… ์ง„ํ–‰์ค‘์ด๋‹ค~

                           ๋ผ๋Š” ๋œป์œผ๋กœ ๋ฐฐ์‰ฌ์— pwd๋ฅผ ํƒ€์ดํ•‘ํ•ด์„œ ํ˜„์žฌ ๊ฒฝ๋กœ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๊ฒฝ๋กœ์—๋Š” ์ด ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

1. ์ ˆ๋Œ€๊ฒฝ๋กœ

2. ์ƒ๋Œ€๊ฒฝ๋กœ


Cli๋ช…๋ น์–ด

 

$ ls : ํ˜„์žฌ ๊ฒฝ๋กœ์˜ ํŒŒ์ผ ๋ฐ ํด๋”๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ช…๋ น์–ด

ls๋ฅผ git bash์— ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด ์ด๋ ‡๊ฒŒ ํ˜„์žฌ ๊ฒฝ๋กœ์˜ ํŒŒ์ผ๊ณผ ํด๋”๋“ค์ด ์ญˆ๋ฃจ๋ฃฉ ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ด๊ฑด ์‹ค์ œ๋กœ ์ œ ์ปดํ“จํ„ฐ์˜ c๋“œ๋ผ์ด๋ธŒ์— Users ์•ˆ์˜ USERํด๋”์— ๋“ค์–ด์žˆ๋Š” ํŒŒ์ผ๋“ค๊ณผ ํด๋”๋“ค์ž…๋‹ˆ๋‹ค.

์–ด? ๊ทผ๋ฐ ๋ญ”๊ฐ€ ์ด์ƒํ•˜๋‹ค....

์ด๊ฒŒ ํด๋”์•ˆ์˜ ํŒŒ์ผ์ด ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์˜ค๋Š”๊ฑด ์•„๋‹ˆ๊ตฌ๋‚˜~ ์‹ถ์—ˆ๋Š”๋ฐ?

์‹ค์ œ ํด๋”๋ฅผ ์ž์„ธํžˆ ๋ณด๋‹ˆ ์ด๋ฆ„์•ž์— ์ฉœ(.)์ด ๋ถ™์€ ์• ๋“ค์€ ์ƒ๋žต์ด ๋˜์—ˆ๋„ค..??

 

โ—† ํด๋”๋‚˜ ํŒŒ์ผ ์•ž์— ์ฉœ(.)์ด ๋ถ™์–ด์žˆ๋‹ค๋ฉด, ๊ทธ๊ฑด ํ˜„์žฌ ์ˆจ๊ฒจ์ง„ ๊ฒƒ์ด๋ผ๋Š” ๋œป..!

 

 

๊ทธ๋Ÿผ ์ด ์นœ๊ตฌ๋“ค๊นŒ์ง€ ํ•œ ๋ฒˆ์— ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด??

 

$ ls -a : ํ˜„์žฌ ๊ฒฝ๋กœ์˜ ์ˆจ๊น€ํŒŒ์ผ ๋ฐ ํด๋”๊นŒ์ง€ ์กฐํšŒ (๋ช…๋ น์–ด ํƒ€์ดํ•‘ ์‹œ s์™€ -์‚ฌ์ด ๊ณต๋ฐฑ ์ฒดํฌ√)

ls -a ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด USERํด๋”์˜ ์ˆจ๊ฒจ์ง„ ํŒŒ์ผ๋“ค๊นŒ์ง€ ํ•œ ๋ˆˆ์— ํ™•์ธ ๊ฐ€๋Šฅ !

์‹ ๊ธฐํ•˜๋‹ค.....!!

 

 

โ€ป ์ฐธ๊ณ ๋กœ ์•Œ์•„๋‘๋Š” ์ถ”๊ฐ€ ๋ช…๋ น์–ด

$ ls -al : ํ˜„์žฌ ๊ฒฝ๋กœ์˜ ์ˆจ๊น€ ํŒŒ์ผ ๋ฐ ํด๋”๊นŒ์ง€ ๋ชจ๋‘ ๋ชฉ๋ก์œผ๋กœ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅ. (๋ช…๋ น์–ด ํƒ€์ดํ•‘ ์‹œ s์™€ -์‚ฌ์ด ๊ณต๋ฐฑ ์ฒดํฌ√)

ls -al์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฐ์‹์œผ๋กœ ๋ชฉ๋ก ํ˜•์‹์œผ๋กœ ๋‚˜์˜จ๋‹ค๋Š” ๊ฒƒ~ ์ฐธ๊ณ ํ•ด ๋‘์ž!!


หš๋””๋ ‰ํ„ฐ๋ฆฌ = ํด๋”๋ผ๋Š” ๋œป.

 

$ cd <๊ฒฝ๋กœ> : <๊ฒฝ๋กœ>๋กœ ์ด๋™ํ•˜๊ธฐ (d์™€ <์‚ฌ์ด ๊ณต๋ฐฑ ์ฒดํฌ √)

$ cd .. : ํ˜„์žฌ ๊ฒฝ๋กœ์—์„œ ๋ฐ”๋กœ ๊ทธ ์ƒ์œ„ หš๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•˜๊ธฐ (d์™€ .์‚ฌ์ด ๊ณต๋ฐฑ ์ฒดํฌ √)

$ cd . : ํ˜„์žฌ หš๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•˜๊ธฐ (d์™€ .์‚ฌ์ด ๊ณต๋ฐฑ ์ฒดํฌ √)

$ cd ~ : ํ™ˆ หš๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•˜๊ธฐ (d์™€ ~์‚ฌ์ด ๊ณต๋ฐฑ ์ฒดํฌ √)

๋ฐ‘์˜ ๋ช…๋ น์–ด๋ฅผ ํ•œ ๋ฒˆ์”ฉ ์จ๊ฐ€๋ฉด์„œ pwd๋กœ ํ˜„์žฌ ๋‚ด๊ฐ€ ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ํ™•์ธ.

์œ„ ์‚ฌ์ง„์ฒ˜๋Ÿผ ์ฒ˜์Œ ๊ฒฝ๋กœ๊ฐ€

$ pwd
/c /Users /USER

USER ํด๋”์ธ ๊ฒƒ์„ ํ™•์ธ.

 

์—ฌ๊ธฐ์„œ ์‹œ์ž‘ํ•ด์„œ cd .. ๋ฅผ ์‚ฌ์šฉํ•ด ์ƒ์œ„ํด๋”์ธ Users๋กœ ์ด๋™ํ–ˆ๊ณ ,

๋‹ค์Œ์€ cd <๊ฒฝ๋กœ>๋ฅผ ์ด์šฉํ•ด์„œ ๋‚ด๊ฐ€ ์ด๋™ํ•˜๊ณ ์‹ถ์€ USER ํด๋”๋กœ ๋‹ค์‹œ ์ด๋™..!,

๋‹ค์‹œ cd ..๋กœ ์ƒ์œ„ํด๋”์ธ ๊ฒƒ์œผ๋กœ ์˜ฌ๋ผ๊ฐ€,

๋งˆ์ง€๋ง‰ cd ~๋กœ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ (USER ํด๋”)๋กœ ๋‹ค์‹œ ๋ณต๊ท€


๋˜ ๋‹ค๋ฅธ ๋ช…๋ น์–ด๋“ค

์•Œ์•„๋ด…์‹œ๋‹ค.

ํ˜„์žฌ ์‹ค์‹œ๊ฐ„ USER ํด๋” ์•ˆ์— ํ˜„์žฌ๋Š” ์—†๋Š”, 'd' ๋ผ๋Š” ํ…์ŠคํŠธ ํŒŒ์ผ์„ git bash์— ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ๋งŒ๋“ค์–ด ๋ณผ๊ฒ๋‹ˆ๋‹ค.

 

$ touch : ๋น„์–ด์žˆ๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑ.

๋น„์–ด์žˆ๋Š” ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ์‹ถ์„ ๋•?? : touch

์ด๋ฒˆ์—” ์ƒˆ๋กœ ๋งŒ๋“  d ํŒŒ์ผ์— ์•„๋ฌด ๋‚ด์šฉ์ด๋‚˜ ์จ๋†“๊ณ  ๊ทธ๊ฑธ git bash๋กœ ์ฝ์–ด๋‚ด๊ณ  ์‹ถ๋‹ค....!!

$ cat : ํŒŒ์ผ ๋‚ด์šฉ์„ ์ฝ์–ด ์ค˜๋ผ.

์ด๋ ‡๊ฒŒ cat์„ ์ด์šฉํ•ด์„œ ์ฝ์–ด๋‚ด๋ฉด git bash์•ˆ์— ํŒŒ์ผ ๋‚ด์šฉ์ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค ใ…Žใ…Ž


 

โ˜† vi

vi ์ž…๋ ฅ๋ชจ๋“œ ์ „ํ™˜ = ์•ŒํŒŒ๋ฒณ a or i

vi ์ž…๋ ฅ๋ชจ๋“œ ๋น ์ ธ๋‚˜์˜ค๊ธฐ = esc

vi ์—์„œ ์ž…๋ ฅํ•œ ๋‚ด์šฉ ์ €์žฅํ•˜๊ธฐ = :w (writen์˜ ์ค€๋ง์ด๋ผ ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•จ.)

vi ์˜ ์ฐฝ์„ ๋‹ซ์„๋ ค๋ฉด = :q (quit์˜ ์ค€๋ง์ด๋ผ ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•จ.)

 

๋‚œ :w ๋ž‘ :q๋ฅผ ๋”ฐ๋กœ๋”ฐ๋กœ ํƒ€์ดํ•‘ํ•˜๊ธฐ ๊ท€์ฐฎ์€๋ฐ....??

vi ์ฐฝ์„ ์ €์žฅํ•˜๊ณ , ๋‹ซ๋Š” ๋ช…๋ น์–ด = :wq (์œ„ ๋‘๊ฐœ๋ฅผ ํ•ฉ์ณ์„œ ํ•œ ๋ฒˆ์— ํƒ€์ดํ•‘ํ•˜๋ฉด ๋œ๋‹ค ใ…‹ใ…‹ใ…‹ใ…‹)

 

$ vi : ํŒŒ์ผ์•ˆ์— ์žˆ๋Š” ๋‚ด์šฉ์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ํŽธ์ง‘๊ธฐ / ๋‹ค๋งŒ, ๋ช…๋ น์–ด ์ฐฝ ์•ˆ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŽธ์ง‘๊ธฐ๋‹ค.

์ด๋ ‡๊ฒŒ git bash์— vi๋ฅผ ์น˜๊ฒŒ๋˜๋ฉด ?
ํŒŒ์ผ์•ˆ์˜ ๋‚ด์šฉ์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ํŽธ์ง‘๊ธฐ๊ฐ€ ๋‚˜์˜จ๋‹ค.
OH MY GOD........ใ… ใ… ใ… ใ… ใ… ใ… ใ… ใ… ใ… 

 

โ˜…โ˜…โ˜… ์˜ค๋Š˜์˜ ์˜ค๋ฅ˜ โ˜…โ˜…โ˜…

 

์ด๋ ‡๊ฒŒ ์—ด์‹ฌํžˆ ์•ˆ์— ๋‚ด์šฉ์„ ์ž‘์„ฑํ•˜๊ณ  ์ˆ˜์ •ํ•ด์„œ OK!!!ํ•˜๊ณ  ์ €์žฅ์„ ํ•˜๋ ค๋Š” ์ˆœ๊ฐ„???

๋งจ ๋ฐ‘์— ๋นจ๊ฐ„์ค„....;; E32: No file name

E32: No File Name

 

์˜ค๋ฅ˜์˜ ์ด์œ  : ๋งจ ์ฒ˜์Œ viํŽธ์ง‘๊ธฐ๋ฅผ ์—ด๋ฉด์„œ ๋’ค์— ์—ด๊ณ ์ž ํ•˜๋Š” ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ์“ฐ์ง€ ์•Š์•„ ํŽธ์ง‘๊ธฐ๋งŒ ์—ด๋ฆฐ ๊ฒƒ

 

์ž ๊ทธ๋Ÿผ ๋‹ค์‹œ.. ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด vi ๋ช…๋ น์–ด๋กœ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ํŒŒ์ผ์„ ํŽธ์ง‘ํ• ๊นŒ?

์ด๋ ‡๊ฒŒ ์น˜๋ฉด ๋˜๋ ค๋‚˜..??
๋น™๊ณ  !!!!! BINGO !!!!
์ •์ƒ์ ์œผ๋กœ ๋‚ด์šฉ ๋ฐ”๊พธ๊ณ ~ :wq๋กœ ํ•œ ๋ฒˆ์— ์ €์žฅํ›„ ํ‡ด์‹ค ใ…Žใ…Žใ…Ž

์ž ๊ทธ๋Ÿผ ์ด์ œ ์‹ค์ œ USER ํŒŒ์ผ์— ์žˆ๋Š” d ํŒŒ์ผ ํ™•์ธํ•˜๋Ÿฌ ์Š~

์ด๋ ‡๊ฒŒ ์•ˆ์— ๋‚ด์šฉ์ด ์ˆ˜์ •๋˜์–ด ์žˆ๋Š”๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค ใ…Žใ…Žใ…Žใ…Ž

 

์˜ค๋Š˜์€ ์ด๋ ‡๊ฒŒ ์ƒ์— ์ฒ˜์Œ์œผ๋กœ Git bash์— ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ๊ฐ€์ง€๋ฅผ ์•Œ์•„๋ดค๊ณ ,

๊ทธ๋Ÿฌ๋ฉด์„œ ์—ฌ๋Ÿฌ ์˜ค๋ฅ˜์™€๋„ ์ง๋ฉดํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค

 

vi ๋กœ ๋ฌด์–ธ๊ฐ€๋ฅผ ํŽธ์ง‘ํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ํ•ญ์ƒ ๋’ค์— ํŒŒ์ผ๋ช…์„ ๋ถ™์ด๋Š” ๊ฒƒ~

์•ž์œผ๋กœ๋Š” ์ด๋Ÿฐ ์†์ƒํ•œ ์ผ ๊ฒช์ง€ ์•Š๋„๋ก ์žŠ์ง€ ๋ง์ž ใ…Žใ…Žใ…Ž