GIT์˜ ๊ธฐ์ดˆ / ํ„ฐ๋ฏธ๋„ ์ฐฝ์œผ๋กœ git add, commit / git diff / git branch/ git merge

2023. 3. 21. 18:35ใ†Study_Develop/GIT

๋ฐ˜์‘ํ˜•

git commit

 

git์˜ commit๊ธฐ๋Šฅ์„ ์“ฐ๋ฉด

ํŒŒ์ผ์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋งค์ผ๋งค์ผ ๊ธฐ๋ก ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ 2์ผ ์ „์˜ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐ€๋Š” ๊ทธ๋Ÿฐ ๊ธฐ๋Šฅ์ด

๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.

 

์ž‘์—… ํด๋”์—์„œ git ์„ ์ด์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ

 

git init

 

์ž‘์—… ํด๋”์—์„œ ์œ„์˜ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค.

์‹œ์ž‘์„ ์•Œ๋ฆฌ๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

git์ด ์—ฌ๋Ÿฌ๋ถ„์ด ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š”๊ฒƒ, ์ฝ”๋“œ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ์‹œ์ž‘ํ•˜๋ผ๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

 

git add ํŒŒ์ผ๋ช…

git commit -m '์ฝ”๋“œ์— ๊ด€ํ•œ ์„ค๋ช…'

 

์ด๋Ÿฐ ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ๋ฉด

ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ git์–ด๋”˜๊ฐ€์— ๊ธฐ๋กํ•ด์ค๋‹ˆ๋‹ค.

 

 

์ž‘์—… ํด๋”  ---git add---->  staging are---git commit----> repository

 

1. staging area๋Š” commit ์„ ํ•˜๊ธฐ ์ „์— commit ํ•  ํŒŒ์ผ๋“ค์„ ๊ณจ๋ผ ๋†“๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  staging area ์— ํŒŒ์ผ ๋„ฃ๋Š” ํ–‰์œ„๋ฅผ staging์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

git add๋กœ stagingํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

2. repository๋Š” commit ๋œ ํŒŒ์ผ์˜ ๋ฒ„์ „๋“ค์„ ๋ชจ์•„๋†“๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.

๋„ฃ์–ด๋‘” repository๋ฅผ ๋ณด๊ณ  ์‹ถ์œผ๋ฉด ์ž‘์—… ํด๋” ์•ˆ์— ์ž๋™ ์ƒ์„ฑ๋œ

.gitํด๋”๋ฅผ ์—ด์–ด๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

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

git add ํŒŒ์ผ๋ช…1 ํŒŒ์ผ๋ช…2

 

์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ๋™์‹œ์— ์Šคํ…Œ์ด์ง• ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

git add .

 

์ž‘์—… ํด๋”์˜ ๋ชจ๋“  ํŒŒ์ผ์„ ์ „๋ถ€ ์Šคํ…Œ์ด์ง• ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

git status

 

์ง€๊ธˆ๊นŒ์ง€ ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ, ์Šคํ…Œ์ด์ง•๋œ ํŒŒ์ผ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

 

git restory --staged ํŒŒ์ผ๋ช…

 

์Šคํ…Œ์ด์ง•๋œ ํŒŒ์ผ์„ ์ทจ์†Œํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

git commit -m '๋ฉ”์„ธ์ง€'

 

commit ํ•  ๋•Œ -m๋’ค์—  ๋ฉ”์„ธ์ง€ ์ž…๋ ฅ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

git log --all --online

git log --all --online --graph

 

commit ๊ธฐ๋ก์„ ํ•œ ๋ˆˆ์— ํŒŒ์•…ํ•˜๊ณ  ์‹ถ์œผ๋ฉด git log ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”.

--graph ์˜ต์…˜์„ ๋„ฃ์œผ๋ฉด ๊ทธ๋ž˜ํ”„๋กœ ๊ทธ๋ ค์ค๋‹ˆ๋‹ค.

 

git diff

 

git diff

 

์œ„์˜ ์ฝ”๋“œ๋กœ commit ํ•˜๊ธฐ ์ „์— 

์ด์ „๊ณผ ํ˜„์žฌ ์ฝ”๋“œ๊ฐ€ ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

๋ฐ”๋กœ ์ „ commit ๊ณผ ํ˜„์žฌ ์ฝ”๋“œ์˜ ์ฐจ์ด์ ์„ ๋น„๊ตํ•ด์ค๋‹ˆ๋‹ค.

 

git diff ์ปค๋ฐ‹id

 

๊ณผ๊ฑฐ์˜ ํŠน์ • commit ๊ณผ ํ˜„์žฌ ํŒŒ์ผ์„ ๋น„๊ตํ•˜๊ณ  ์‹ถ์œผ๋ฉด

์ปค๋ฐ‹ id๋ฅผ ๋ช…์‹œํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

git diff ์ปค๋ฐ‹id1 ์ปค๋ฐ‹id2

 

๊ณผ๊ฑฐ์˜ ํŠน์ • commit 2๊ฐœ ๊ฐ„์˜

์ฐจ์ด์  ๋น„๊ต๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

git difftool

 

์ข€ ๋” ๋ณด๊ธฐ ํŽธํ•˜๊ฒŒ ํ˜„์žฌ ํŒŒ์ผ๊ณผ ์ตœ๋“  commit์˜ ์ฐจ์ด์ ์„

๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

 

git difftool ์ปค๋ฐ‹id

 

ํ˜„์žฌ ํŒŒ์ผ๊ณผ ํŠน์ • commit์˜ ์ฐจ์ด์ ์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

 

git difftool ์ปค๋ฐ‹id1 ์ปค๋ฐ‹id2

 

ํŠน์ • commit 2๊ฐœ์˜ ์ฐจ์ด์ ์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

 

 

branch ๋ž€

 

์ปค๋ฐ‹ํ•˜๋ฉด์„œ ๊ณ„์† ์ฝ”๋“œ๋ฅผ ์งœ๋‹ค๋ณด๋ฉด

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์ง‘๋‹ˆ๋‹ค.

๊ทผ๋ฐ ๋‚ด๊ฐ€ ๋งŒ๋“  ์›๋ณธ ํŒŒ์ผ ์œ„์— ์ฝ”๋“œ๋ฅผ ์งœ๋‹ค๊ฐ€

ํŒŒ์ผ์ด ๋‹ค ๋‚ ๋ผ๊ฐ€๋ฒ„๋ฆฌ๋ฉด ๊ฑฑ์ •๋˜์ง€ ์•Š๋‚˜์š”

๊ทธ๋Ÿด ๊ฑฑ์ •์—†์ด 

ํ”„๋กœ์ ํŠธ์˜ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค์–ด์„œ ๊ฑฐ๊ธฐ์—์„œ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๊ฒƒ์„ ๋„์™€์ฃผ๋Š” ๊ฒƒ์ด

branch ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

 

git branch ๋ธŒ๋žœ์น˜์ด๋ฆ„

 

ํ”„๋กœ์ ํŠธ ์‚ฌ๋ณธ ์ƒ์„ฑ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

 

git switch ๋ธŒ๋žœ์น˜์ด๋ฆ„

 

๋งŒ๋“  branch๋กœ ์ด๋™ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

 

git status

 

์–ด๋–ค ๋ธŒ๋žœ์น˜์— ์™€์žˆ๋Š”์ง€ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

 

 

merge ๋ž€

 

branch ์—์„œ ์งฐ๋˜ ์ฝ”๋“œ๋ฅผ

์›๋ณธ ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” master or main๋ธŒ๋žœ์น˜์— ํ•ฉ์ณ์ค๋‹ˆ๋‹ค.

 

git switch main

git merge ๋ธŒ๋žœ์น˜๋ช…

 

merge๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด 

master or main ๋ธŒ๋žœ์น˜๋กœ ๋‹ค์‹œ ์ด๋™ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  git merge ๋ธŒ๋žœ์น˜๋ช… ์„ ํ†ตํ•ด

ํ•ฉ์ณ์ค๋‹ˆ๋‹ค.

 

์ฃผ์˜ 

ํ•ฉ์น  ๋•Œ main๊ณผ ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜์—์„œ ๊ฐ™์€ ์ค„์„ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ

์–ด๋–ค ์ฝ”๋“œ๋ฅผ ์ ์šฉํ• ์ง€ ๊ณจ๋ผ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฐ ํ›„ 

 

git add ํŒŒ์ผ๋ช…

git commit -m '์ฝ”๋“œ์— ๊ด€ํ•œ ์„ค๋ช…'

 

์š”๋ ‡๊ฒŒ ์ž…๋ ฅํ•˜๋ฉด 

์ƒˆ๋กœ์šด commit ์„ ์ƒ์„ฑํ•ด์ฃผ๊ณ ,

merge conflicํ•ด๊ฒฐ + ๋ธŒ๋žœ์น˜ ํ•ฉ์น˜๊ธฐ ์™„๋ฃŒ!