๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Dev/GIT

Do it ๊นƒ·๊นƒํ—ˆ๋ธŒ | 1์žฅ

yesolz 2023. 1. 20. 17:07
728x90
ใ€ŽDo it! ๊นƒ & ๊นƒํ—ˆ๋ธŒ ์ž…๋ฌธใ€ 1์žฅ. ๊นƒ ์‹œ์ž‘ํ•˜๊ธฐ
๋ฅผ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค

 

๋ชฉ์ฐจ>

1-1 ์ง€์˜ฅ์—์„œ ์˜จ ๋ฌธ์„œ ๊ด€๋ฆฌ์ž, ๊นƒ

1-2 ๋งฅ์— ๊นƒ ์„ค์น˜ํ•˜๊ธฐ

1-3 ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น ์—ฐ์Šตํ•˜๊ธฐ

1-4 ๋น” ํŽธ์ง‘๊ธฐ์—์„œ ํ…์ŠคํŠธ ๋ฌธ์„œ ๋งŒ๋“ค๊ธฐ

 

 

 

1-1 ์ง€์˜ฅ์—์„œ ์˜จ ๋ฌธ์„œ ๊ด€๋ฆฌ์ž, ๊นƒ

๊นƒ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค

- ๋ฒ„์ „ ๊ด€๋ฆฌํ•˜๊ธฐ, ๋ฐฑ์—…ํ•˜๊ธฐ, ํ˜‘์—…ํ•˜๊ธฐ

- "๋ฒ„์ „๊ด€๋ฆฌ → ๋ฐฑ์—… → ํ˜‘์—…" ์ˆœ์„œ๋กœ ๋ฐฐ์›Œ์•ผ ํ•œ๋‹ค.

 

๊นƒ ํ”„๋กœ๊ทธ๋žจ์˜ ์ข…๋ฅ˜

- ๊นƒํ—ˆ๋ธŒ ๋ฐ์Šคํฌํ†ฑ(GitHub Desktop) ; ์˜จ๋ผ์ธ ์ €์žฅ์†Œ ์„œ๋น„์Šค์ธ ๊นƒํ—ˆ๋ธŒ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ.

์žฅ์  : ๋ณต์žกํ•œ ๊นƒ ์‚ฌ์šฉ๋ฒ•์„ ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(graphic user interface, GUI)๋กœ ๊ตฌํ˜„ํ•ด์„œ ์‚ฌ์šฉ์ด ํŽธ๋ฆฌ.

๋‹จ์  : ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ ์œ„์ฃผ์—ฌ์„œ ๊ณ ๊ธ‰ ์‚ฌ์šฉ์ž์—๊ฒ ์•„์‰ฌ์›€

- ์ปค๋งจ๋“œ ๋ผ์ธ ์ธํ„ฐํŽ˜์ด์Šค(command line interface, CLI) ; ํ„ฐ๋ฏธ๋„ ์ฐฝ์— ์ง์ ‘ ๋ช…๋ น์„ ์ž…๋ ฅํ•ด์„œ ๊นƒ ์‚ฌ์šฉ. 

๋‹จ์  : GUI ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์–ด๋ ค์›€. ๋ฆฌ๋ˆ…์Šค์˜ ๊ธฐ๋ณธ ๋ช…๋ น, ๊นƒ ๋ช…๋ น์„ ์™ธ์›Œ์•ผ ํ•จ.

์žฅ์  : ์ต์ˆ™ํ•ด์ง€๋ฉด ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ. ๋‹ค์–‘ํ•˜๊ฒŒ ํ™œ์šฉ ๊ฐ€๋Šฅ(๋ฐ˜๋ณตํ•  ์ผ ์ž๋™ํ™”, ์„œ๋ฒ„ ํ™˜๊ฒฝ์—์„œ ๊นƒ ์‚ฌ์šฉ ๋“ฑ)

 

https://git-scm.com/downloads/guis  ; ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊นƒ ํ”„๋กœ๊ทธ๋žจ ์†Œ๊ฐœ

 

 

1-2 ๋งฅ์— ๊นƒ ์„ค์น˜ํ•˜๊ธฐ

ํ™ˆ๋ธŒ๋ฅ˜(Homebrew)๋‚˜ ๋งฅํฌํŠธ(MacPorts) ๊ฐ™์€ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์ด์šฉํ•ด ๊นƒ ์„ค์น˜

* ๋งฅ์šฉ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ž€? ; ๋งฅ์—์„œ ์‚ฌ์šฉํ•  ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜, ์‚ญ์ œํ•˜๋Š” ๋“ฑ์˜ ๊ด€๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ

 

step1. ํ™ˆ๋ธŒ๋ฅ˜ ์„ค์น˜ํ•˜๊ธฐ

1. https://brew.sh/ ์‚ฌ์ดํŠธ ์ ‘์†, ์„ค์น˜ ๋ช…๋ น ๋ณต์‚ฌ

 

2. ๋งฅ์—์„œ ํ„ฐ๋ฏธ๋„ ์—ด๊ณ  Command + V ๋กœ ๋ช…๋ น ๋ถ™์—ฌ๋„ฃ๊ธฐ, Enter

 

 

 

step2. ํ™ˆ๋ธŒ๋ฅ˜์—์„œ ๊นƒ ์„ค์น˜ํ•˜๊ธฐ

1. ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•˜๊ณ  Enter

$brew install git

 

2. ์„ค์น˜ ๋๋‚˜๋ฉด $ ํ‘œ์‹œ ๋‚˜ํƒ€๋‚จ

 

3. ๊นƒ ์„ค์น˜ ํ™•์ธ๋ฒ•

$ git

๊นƒ๊ณผ ๊ด€๋ จ๋œ ๋ช…๋ น์ด ๋‚˜์˜ค๋ฉด ๊นƒ ์„ค์น˜ ์„ฑ๊ณต.

 

 

step3. ๊นƒ ํ™˜๊ฒฝ ์„ค์ •ํ•˜๊ธฐ

$ git config --global user.name "์ด๋ฆ„"
$ git config --global user.email "๋ฉ”์ผ ์ฃผ์†Œ"

--global ์˜ต์…˜ : ํ˜„์žฌ ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ๋ชจ๋“  ์ €์žฅ์†Œ์—์„œ ๊ฐ™์€ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •.

* ๊นƒํ—ˆ๋ธŒ ๊ณ„์ •์ด ์—ฌ๋Ÿฌ ๊ฐœ๋ผ๋ฉด ๊ฐ ๊ณ„์ •๋งˆ๋‹ค ๊นƒ ํ™˜๊ฒฝ์„ ๋”ฐ๋กœ ์„ค์ •ํ•ด์•ผ ํ•จ.

 

 

 

1-3 ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น ์—ฐ์Šตํ•˜๊ธฐ

๋””๋ ‰ํ„ฐ๋ฆฌ(directory) ; ์œˆ๋„์šฐ ํƒ์ƒ‰๊ธฐ์— 'ํด๋”(folder)'๋ฅผ ๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” '๋””๋ ‰ํ„ฐ๋ฆฌ(directory)'๋ผ๊ณ  ํ•œ๋‹ค.

 

$ pwd

'print working directory'์˜ ์•ฝ์–ด.

ํ˜„์žฌ ์œ„์น˜๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค

 

$ ls

'list'

 

$ ls -์˜ต์…˜

-a ์ˆจ๊ธด ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๋„ ํ•จ๊ป˜ ํ‘œ์‹œ
-l ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์ƒ์„ธ ์ •๋ณด ํ•จ๊ป˜ ํ‘œ์‹œ
-r ํŒŒ์ผ์˜ ์ •๋ ฌ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ํ‘œ์‹œ
-t ํŒŒ์ผ ์ž‘์„ฑ ์‹œ๊ฐ„ ์ˆœ์œผ๋กœ (๋‚ด๋ฆผ์ฐจ์ˆœ) ํ‘œ์‹œ

* ์—ฐ์†ํ•ด์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ. (์˜ˆ) ls -la

 

$ clear

ํ„ฐ๋ฏธ๋„ ์ฐฝ ์ง€์šฐ๊ธฐ

 

$ cd ์˜ต์…˜

'change directory'

~ ํ˜„์žฌ ์ ‘์† ์ค‘์ธ ์‚ฌ์šฉ์ž ๋””๋ ‰ํ„ฐ๋ฆฌ. 'c/Users/์‚ฌ์šฉ์ž ์•„์ด๋””'. ํ„ฐ๋ฏธ๋„ ์ฐฝ์—์„œ $ ๊ธฐํ˜ธ ์œ—์ค„์— ์žˆ๋Š” ~๊ฐ€ ์‚ฌ์šฉ์ž ๋””๋ ‰ํ„ฐ๋ฆฌ. ์•„์ด๋””๋Š” 5๊ธ€์ž๊นŒ์ง€๋งŒ ๋‚˜์˜ด.
. ํ˜„์žฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์—… ์ค‘์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ
.. ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ
ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ด๋ฆ„ ex. $ cd Users

 

$ mkdir test

test๋ผ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด๋ผ.

mkdir : 'make directory'

'test/' 

์ด๋ฆ„ ๋’ค์— \๊ฐ€ ๋ถ™์€ ๊ฒƒ์€ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ผ๋Š” ๋œป

 

$ rm -r test

rm : 'remove'

'-r' : ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ํŒŒ์ผ์„ ํ•จ๊ป˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค

 

$ exit 

ํ„ฐ๋ฏธ๋„ ์ข…๋ฃŒํ•˜๊ธฐ. ์ฐฝ์— ์žˆ๋Š” x ํด๋ฆญํ•ด๋„ ๋˜์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.

 

 

 

1-4 ๋น” ํŽธ์ง‘๊ธฐ์—์„œ ํ…์ŠคํŠธ ๋ฌธ์„œ ๋งŒ๋“ค๊ธฐ

๋น”(Vim)

๋ฆฌ๋ˆ…์Šค์˜ ๊ธฐ๋ณธ ํŽธ์ง‘๊ธฐ.

ํ„ฐ๋ฏธ๋„์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŽธ์ง‘๊ธฐ ์ค‘ ๋Œ€ํ‘œ์ ์ž„.

ํ„ฐ๋ฏธ๋„ ์ฐฝ์—์„œ ํ‚ค๋ณด๋“œ๋งŒ ์ด์šฉํ•ด์„œ ํ…์ŠคํŠธ ๋ฌธ์„œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ.

 

$ vim test.txt 

 

์ฒ˜์Œ์— ex ๋ชจ๋“œ๋กœ ์—ด๋ฆฌ๋ฏ€๋กœ ํ…์ŠคํŠธ๊ฐ€ ์ œ๋Œ€๋กœ ์ž…๋ ฅ๋˜์ง€ ์•Š์Œ.

 

์ž…๋ ฅ๋ชจ๋“œ(ํ…์ŠคํŠธ ์ž…๋ ฅ, ์ˆ˜์ •) ์ „ํ™˜ : I ๋‚˜ A ๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ์ „ํ™˜ (insert / add)

 

 

ex ๋ชจ๋“œ(์ €์žฅ, ์ข…๋ฃŒ ๋“ฑ) ์ „ํ™˜ : esc ๋ˆŒ๋Ÿฌ์„œ ์ „ํ™˜.

 

 

๋น”์˜ ex ๋ชจ๋“œ ๋ช…๋ น

์ฝœ๋ก (:)์œผ๋กœ ์‹œ์ž‘ํ•จ.

:w ๋˜๋Š” :write ํŽธ์ง‘ํ•˜๋˜ ๋ฌธ์„œ๋ฅผ ์ €์žฅ
:q ๋˜๋Š” :quit ํŽธ์ง‘๊ธฐ๋ฅผ ์ข…๋ฃŒ
:wq ํŽธ์ง‘ํ•˜๋˜ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ข…๋ฃŒ
:q! ํŽธ์ง‘ํ•˜๋˜ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ํŽธ์ง‘๊ธฐ๋ฅผ ์ข…๋ฃŒ.
ํ™•์žฅ์ž๊ฐ€ .swp์ธ ์ž„์‹œ ํŒŒ์ผ์ด ์ƒ๊น€
:wq ํŒŒ์ผ๋ช… ํŽธ์ง‘ํ•˜๋˜ ๋ฌธ์„œ๋ฅผ ์ง€์ •ํ•œ ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ์ €์žฅ

 

 

cat ๋ช…๋ น

'concatenate(์—ฐ๊ฒฐ์‹œํ‚ค๋‹ค)'

ํ„ฐ๋ฏธ๋„ ์ฐฝ์—์„œ ํ…์ŠคํŠธ ๋ฌธ์„œ์˜ ๋‚ด์šฉ์„ ๊ฐ„๋‹จํžˆ ํ™•์ธํ•  ๋•Œ.

 

 

cat ๋ช…๋ น ๋ชจ์Œ

$ cat file file์˜ ๋‚ด์šฉ์„ ํ™”๋ฉด์— ํ‘œ์‹œ
$ cat file(s) > Newfile file(s)๋ฅผ ์ฐจ๋ก€๋กœ ์—ฐ๊ฒฐํ•ด์„œ ์ƒˆ๋กœ์šด ํŒŒ์ผ์ธ Newfile์„ ๋งŒ๋“ฆ
$ cat file1 >> file2 file1์˜ ๋‚ด์šฉ์„ file2์˜ ๋‚ด์šฉ ๋์— ์—ฐ๊ฒฐ

 

728x90