๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Environment·Tool

[Git] Git Bash ์‚ฌ์šฉ ๋ฐฉ๋ฒ• - init, status, add, commit, log

by Leica 2020. 3. 4.
๋ฐ˜์‘ํ˜•

[Git] Git Bash ์‚ฌ์šฉ ๋ฐฉ๋ฒ• - init, status, add, commit, log

Git์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์‚ฌ์šฉํ•˜๋Š” ํ”Œ๋žซํผ์— ๋งž๋Š” git์„ ๋‹ค์šด๋กœ๋“œ๋ฐ›๊ณ  ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค.

์œˆ๋„์šฐ์— git์„ ์„ค์น˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ ํฌ์ŠคํŠธ๋ฅผ ์ฐธ๊ณ ํ•œ๋‹ค.

 

- ์œˆ๋„์šฐ์šฉ Git ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜ํ•˜๊ธฐ - ์„ค์น˜ ์˜ต์…˜์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช… ํฌํ•จ

 

1. Git ์ €์žฅ์†Œ ๋งŒ๋“ค๊ธฐ - git init

๋‹ค์Œ ์ค‘ ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ Git ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค์ˆ˜ ์žˆ๋‹ค.

  1. ์•„์ง ๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š๋Š” ๋กœ์ปฌ ๋””๋ ‰ํ† ๋ฆฌ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์„œ Git ์ €์žฅ์†Œ๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
  2. ๋‹ค๋ฅธ ์–ด๋”˜๊ฐ€์—์„œ Git ์ €์žฅ์†Œ๋ฅผ Clone ํ•˜๋Š” ๋ฐฉ๋ฒ•

์—ฌ๊ธฐ์„œ๋Š” ๊ธฐ์กด์˜ ๋กœ์ปฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ git ์ €์žฅ์†Œ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณธ๋‹ค.

 

Git ์ €์žฅ์†Œ๋กœ ๋งŒ๋“ค ํด๋”๋กœ ์ด๋™ํ•ด์„œ ๋งˆ์šฐ์Šค ์šฐ์ธก ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  Git Bash Here๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

Command line์œผ๋กœ git์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” BASH ์—๋ฎฌ๋ ˆ์ด์…˜์ด ์‹คํ–‰๋œ๋‹ค.

Git Bash Here๋ฅผ ํด๋ฆญํ•œ ํด๋” ๊ธฐ์ค€์œผ๋กœ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žกํžŒ๋‹ค.

 

์ด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ git ์ €์žฅ์†Œ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

 

Git ์ €์žฅ์†Œ ๋งŒ๋“ค๊ธฐ

$ git init

 

git init ์‹คํ–‰ ๊ฒฐ๊ณผ

 

์ด ๋ช…๋ น์€ .git ์ด๋ผ๋Š” ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ ๋‹ค. .git ๋””๋ ‰ํ† ๋ฆฌ์—๋Š” ์ €์žฅ์†Œ์— ํ•„์š”ํ•œ ๋ผˆ๋Œ€ ํŒŒ์ผ(Skeleton)์ด ๋“ค์–ด ์žˆ๋‹ค.

 

git init ๋ช…๋ น๋งŒ์œผ๋กœ๋Š” ์•„์ง ์–ด๋–ค ํŒŒ์ผ๋„ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๋Š”๋‹ค.

tempFileForGit.txt๋ผ๋Š” ํŒŒ์ผ์„ ๋ฒ„์ „๊ด€๋ฆฌ ํ•ด๋ณด์ž.

 

2. Git ์ €์žฅ์†Œ์— ํŒŒ์ผ ์ถ”๊ฐ€ํ•˜๊ธฐ - git add

Git์ด ํŒŒ์ผ์„ ๊ด€๋ฆฌํ•˜๊ฒŒ ํ•˜๋ ค๋ฉด ์ €์žฅ์†Œ์— ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์ปค๋ฐ‹ํ•ด์•ผ ํ•œ๋‹ค. git add ๋ช…๋ น์œผ๋กœ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

 

git ์ €์žฅ์†Œ์— ํŒŒ์ผ ์ถ”๊ฐ€ํ•˜๊ธฐ

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

 

๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์— git add tempFileForGit.txt์„ ์ž…๋ ฅํ•˜์ž.

 

์‹คํ–‰ ๊ฒฐ๊ณผ

 

Git ์ €์žฅ์†Œ ์ƒํƒœ ํ™•์ธ

$ git status

git status๋Š” ์ €์žฅ์†Œ ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด์ด๋‹ค.

git add๋ฅผ ํ†ตํ•ด tracking(์ถ”์ )์ด ์‹œ์ž‘๋œ ํŒŒ์ผ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์‹คํ–‰ ๊ฒฐ๊ณผ

 

git add ๋ช…๋ น์–ด๋กœ ์ถ”๊ฐ€ํ•œ tempFileForGit.txt์ด ์ดˆ๋ก์ƒ‰์œผ๋กœ ์ถœ๋ ฅ๋˜์—ˆ๋‹ค.

 

3. ์‚ฌ์šฉ์ž ์„ค์ •

Git์„ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด commit ๋ช…๋ น์–ด๋กœ ์‹ค์ œ ๋ฒ„์ „์„ ๋งŒ๋“ค๊ธฐ ์ „์— ์‚ฌ์šฉ์ž๋ฅผ ์„ค์ •ํ•ด์•ผํ•œ๋‹ค.

 

Git ์‚ฌ์šฉ์ž ์„ค์ •

$ git config --global user.name ์‚ฌ์šฉ์ž์ด๋ฆ„
$ git config --global user.email ์ด๋ฉ”์ผ

 

์‹คํ–‰ ๊ฒฐ๊ณผ

 

์‚ฌ์šฉ์ž ์„ค์ • ํ›„ ์ž‘์„ฑํ•œ ๋ฒ„์ „์€ ์„ค์ •๋œ ์ด๋ฆ„๊ณผ ์ด๋ฉ”์ผ์„ ํฌํ•จํ•˜๊ฒŒ ๋˜์–ด ๋ˆ„๊ฐ€ ํ•ด๋‹น ๋ฒ„์ „์„ ์ž‘์—…ํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

 

4. Commit

git add ๋ช…๋ น์–ด๋กœ ์ถ”๊ฐ€ํ•œ ํŒŒ์ผ๋“ค์„ ์ตœ์ข…์ ์œผ๋กœ commitํ•œ๋‹ค.

$ git commit

 

git commit ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด git ์„ค์น˜ ์‹œ ์„ค์ •ํ•œ ํ…์ŠคํŠธ ์—๋””ํ„ฐ๊ฐ€ ์‹คํ–‰๋œ๋‹ค.

๋‚˜๋Š” ๋ณ„๋„์˜ ์—๋””ํ„ฐ๋ฅผ ์„ค์ •ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ์—๋””ํ„ฐ๊ฐ€ ์—ด๋ ธ์ง€๋งŒ ๊ธฐ๋ณธ ์—๋””ํ„ฐ๋Š” vim์ด๋‹ค.

#๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ผ์ธ์€ ์ฃผ์„์ด๋‹ค.

๋งจ ์œ„์— commit message๋ฅผ ์ ์–ด์ค€๋’ค ์ €์žฅํ•˜๊ณ  ์—๋””ํ„ฐ๋ฅผ ์ข…๋ฃŒํ•œ๋‹ค.

 

Commit์ด ์™„๋ฃŒ๋˜๊ณ  ๊ฒฐ๊ณผ ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

 

ํ˜„์žฌ commitํ•œ ๋ฒ„์ „์ด ์ž˜ ๋งŒ๋“ค์–ด์กŒ๋Š”์ง€ ๋ณ„๋„์˜ ๋ช…๋ น์–ด๋กœ ํ™•์ธํ•ด๋ณด์ž.

 

 

Git ๋ฒ„์ „ ๊ด€๋ฆฌ ์ด๋ ฅ ํ™•์ธ

$ git log

 

์‹คํ–‰ ๊ฒฐ๊ณผ

 

git log ๋ช…๋ น์œผ๋กœ ๋ˆ„๊ฐ€, ์–ธ์ œ, ์–ด๋–ค commit message๋ฅผ ์ž…๋ ฅํ•ด์„œ ๋ฒ„์ „์„ ๋งŒ๋“ค์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€