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ํด๊ฒฐ + ๋ธ๋์น ํฉ์น๊ธฐ ์๋ฃ!