DevOps/Git

[Git] Git์˜ ๊ธฐ๋Šฅ๊ณผ ๋ช…๋ น์–ด(init , vi , status , add , commit, ) window11 64 Git์„ค์น˜ (23.07.12)

ํ”„๋กœ๊ทธ๋ž˜๋จธ ์˜ค์›” 2023. 7. 12.

๊นƒ์˜ ๊ธฐ๋Šฅ

 

*๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ
*๋ณ€๊ฒฝ์‚ฌํ•ญ ์ถ”์ 
*๋ธŒ๋žœ์น˜
*์›๊ฒฉ ์ €์žฅ์†Œ ์ง€์›
*์ด๋ ฅ ๊ด€๋ฆฌ
*๋ณ‘ํ•ฉ ๋ฐ ์ถฉ๋Œ ํ•ด๊ฒฐ
*ํƒœ๊ทธ

 

git repository

๊นƒ์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ํ”„๋กœ์ ํŠธ ์ €์žฅ์†Œ

ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ํŒŒ์ผ, ํด๋”,๋ฒ„์ „ ์ •๋ณด, ์ด๋ ฅ๋“ฑ์„ ์ €์žฅ

git repository์—๋Š”
local repository
remote repository
๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ local์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๋””๋ฐ”์ด์Šค ์ €์žฅ์ด๋‹ค
์ค‘์•™์ €์žฅ์†Œ์˜ ๊ฐœ๋…์œผ๋กœ ๋””๋ฐ”์ด์Šค์— ์žˆ๋˜ ๋‚ด์šฉ์„ ๋™๊ธฐํ™” ์‹œ์ผœ์„œ ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•˜๋‹ค


๊นƒ ๋ธŒ๋žœ์น˜
์ฝ”๋“œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ณ‘๋ ฌ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ
์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ธฐ์กด ์†Œ์Šค ์ฝ”๋“œ์™€๋Š” ๋ณ„๊ฐœ๋กœ ์ž‘์—…์„ ์ง„ํ–‰
๋ธŒ๋žœ์น˜ ๊ฐ„์—๋Š” ์„œ๋กœ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค
์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋™์‹œ์— ์ž‘์—…ํ•  ๋•Œ ์ถฉ๋Œ๋ฐฉ์ง€

 

 

 

 

git์„ ์„ค์น˜ํ•˜๊ณ  

$ git

๋ช…๋ น์–ด๋ฅผ ์น˜๋ฉด ๊ฐ„๋žตํ•œ์„ค๋ช…๊ณผ ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ํŒ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

 

$ git --version

๊นƒ์˜๋ฒ„์ „์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

$ git config --global user.name "<์‚ฌ์šฉ์ž ์ด๋ฆ„>"

 

์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ณ ,

 

$ git config --global user.email "<์‚ฌ์šฉ์ž ์ด๋ฉ”์ผ>"

์‚ฌ์šฉ์ž์˜ ์ด๋ฉ”์ผ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋•Œ ์ด๋ฉ”์ผ์€ ๊นƒํ—ˆ๋ธŒ์— ๊ฐ€์ž…ํ•œ ์•„์ด๋””์ธ ์ฃผ์†Œ๋ฅผํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

 

 

์ž์ฃผ ์“ฐ๋Š” ๋ฆฌ๋ˆ…์Šค ๋ฐ git ๋ช…๋ น์–ด

$ cd~

ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

 

$ mkdir ๋””๋ ‰ํ† ๋ฆฌ์ด๋ฆ„

๋””๋ ‰ํ† ๋ฆฌ ๋งŒ๋“ค๊ธฐ

 

$ cd ๋””๋ ‰ํ† ๋ฆฌ์ด๋ฆ„

ํ˜„์žฌ ๊ฒฝ๋กœ์˜ ํ•˜๋ถ€ ํด๋”์ธ ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

 

$ touch ํŒŒ์ผ๋ช…

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

 

$ vi ํŒŒ์ผ๋ช…

ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํŽธ์ง‘ํ•˜๊ธฐ

์ด๋•Œ ์ผœ์ž๋งˆ์ž ๋ช…๋ น์–ด ๋ชจ๋“œ๋กœ ๋˜์–ด์žˆ์œผ๋‹ˆ a ๋˜๋Š” i๋ฅผ ๋ˆŒ๋Ÿฌ insert mode๋กœ ๋ณ€๊ฒฝํ•ด ์ค˜์•ผ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚ด์šฉ์„ ๋‹ค ์ž‘์„ฑํ•˜๊ณ  ๋‹ค์‹œ ๋ช…๋ น์–ด ๋ชจ๋“œ๋กœ ๋‚˜์˜ค๊ณ  ์‹ถ์„๋• Esc๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋œ๋‹ค.

๋ช…๋ น์–ด ๋ชจ๋“œ์—์„œ

:w

๋ฅผ ์น˜๋ฉด ์ž‘์„ฑํ•œ๊ฒƒ์ด ์ €์žฅ๋˜๊ณ 

:q

๋ฅผ ์น˜๋ฉด vi ํŽธ์ง‘๊ธฐ์—์„œ ๋น ์ ธ๋‚˜์˜จ๋‹ค.

:wq

๋ฅผ ํ•œ๋ฒˆ์— ์ณ์„œ ์ž‘์„ฑํ•œ ๊ฒƒ์„ ์ €์žฅํ•˜๊ณ  ํŽธ์ง‘๊ธฐ์—์„œ ๋น ์ ธ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

 

$ cat ํŒŒ์ผ๋ช…

ํŒŒ์ผ ์•ˆ์— ๋“  ๋‚ด์šฉ์„ ํ™•์ธํ•œ๋‹ค.

 

$ cd ..

์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

 

$ rmdir ๋””๋ ‰ํ† ๋ฆฌ์ด๋ฆ„

๋น„์–ด์ ธ ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ ์‚ญ์ œ

 

$ rm -rf ๋””๋ ‰ํ† ๋ฆฌ์ด๋ฆ„

๋‚ด์šฉ์ด ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ญ์ œํ•˜๋ฉด์„œ ๊ทธ ์•ˆ์— ๋“  ํŒŒ์ผ๋„ ํ•จ๊ป˜ ๋ชจ๋‘ ์‚ญ์ œํ•˜๊ธฐ

 

$ ls

ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ํŒŒ์ผ๋“ค ๋ฆฌ์ŠคํŠธ ๋ณด๊ธฐ

์ˆจ๊น€ ํด๋”๋Š” ๋ณด์ง€ ๋ชปํ•œ๋‹ค. 

 

 

$ git init

git ์ €์žฅ์†Œ๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜๊ณ  ์ƒˆ๋กœ์šด ๋กœ์ปฌ ์ €์žฅ์†Œ ์ƒ์„ฑ.

git ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ ๋‹ค.

 

 

$ ls -a

ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ˆจ๊น€ ํŒŒ์ผ๊นŒ์ง€ ๋ชจ๋“  ํŒŒ์ผ์˜ ๋ฆฌ์ŠคํŠธ ๋ณด๊ธฐ

 

 

$ git status

* git ์ €์žฅ์†Œ์˜ ์ƒํƒœ ํ™•์ธ
* ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด๋‚˜ ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ ๋‚ด์—ญ ํ™•์ธ
* Working tree status 
* Staging area status(์ปค๋ฐ‹์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ์„ ๋ชจ์•„๋‘˜ ์ž„์‹œ ์ €์žฅ)

 

$ git add ํŒŒ์ผ๋ช…

ํŒŒ์ผ์„ stage ์˜์—ญ์— ์ถ”๊ฐ€
$ git add -A

์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ์ „์ฒด์˜ ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ ์ถ”๊ฐ€

 

$ git commit
*๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ €์žฅํ•˜๊ณ  ์ปค๋ฐ‹
*๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์— ๋Œ€ํ•œ ์Šค๋ƒ…์ƒท์„ ์ƒ์„ฑํ•˜๊ณ  ์Šค๋ƒ…์ƒท์— ๋Œ€ํ•œ ๋ฉ”์„ธ์ง€๋ฅผ ์ž‘์„ฑ

* -m ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์˜ต์…˜

 

 

 

 

 

๋Œ“๊ธ€