[Git] master๊ฐ ์๋ branch์ ์ฝ๋ ์ฌ๋ฆฌ๊ธฐ
git์ ํตํด ํ์ ์ ํ๊ธฐ ์ํด์ branch๋ฅผ ์ ํ์ฉํด์ผํ๋ค.
master branchํ๋๋ก ํ์ ์ ํ๋ค๋ฉด ๋ณ๋๋ด์ฉ์ด ์ถฉ๋ํ๊ฑฐ๋ ๊ผฌ์ผ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
1. branch ํ์ธ
ํ์ฌ ๋ด๊ฐ ์์นํ branch ํ์ธ
git branch
2. branch ์์ฑ ๋ฐ ์ด๋
1) ์์ฑ
git branch BRANCH_NAME
2) ์ด๋
git checkout BRANCH_NAME
2), 3)์ ๋์์ ํ๊ณ ์ถ๋ค๋ฉด
git checkout -b BRANCH_NAME
3. branch ์ญ์
1) ๊ธฐ๋ณธ ์ญ์
git branch -d BRANCH_NAME
2) ๊ฐ์ ์ญ์
git branch -D BRANCH_NAME
4. git repository์ push
git push origin BRANCH_NAME
5. branch log ํ์ธ
1) ๋ธ๋์น ๋ก๊ทธ ํ์ธ
git log // ํ์ฌ ๋ธ๋์น ์์ ์ฌํญ ํ์ธ๊ฐ๋ฅ
git log --branches // ๋ก์ปฌ์ ์กด์ฌํ๋ ๋ชจ๋ ๋ธ๋์น ๋ก๊ทธ ํ์ธ๊ฐ๋ฅ
git log --branches --graph // ์กฐ๊ธ๋ ๋ณด๊ธฐ์ข๊ฒ ์ถ๋ ฅ
git log --branches --graph --oneline // ๋ธ๋์น์ ๋ฉ์ธ์ง๋ง ์ถ๋ ฅ (๋๋ณด๊ธฐ์ข๊ฒ)
2) ๋ธ๋์น ๋ก๊ทธ ๋น๊ต
git log master..BRANCH_NAME // master๋ธ๋์น์ ํน์ ๋ธ๋์น ์ฐจ์ด ํ์ธ
git log -p master..BRANCH_NAME // -p์ต์
์ผ๋ก ์์ ๋ ๋ด์ฉ๋ ํจ๊ป ํ์ธ ๊ฐ๋ฅ
6. branch ๋น๊ต
๋ ๋ธ๋์น์ ์ฐจ์ด์ ํ์ธ ๊ฐ๋ฅ
git diff master..BRANCH_NAME
7. branch ๋ณํฉ
git checkout master // master ๋ธ๋์น๋ก ์ด๋
git merge BRANCH_NAME // ๋ธ๋์น ๋ณํฉ
git branch -d BRANCH_NAME // ๋ณํฉ๋ ๋ธ๋์น ์ ๊ฑฐ
git branch -D BRANCH_NAME // ๋ณํฉ๋์ง ์์ ๋ธ๋์น ์ ๊ฑฐ
8. Conflict ๋ฐ์
๋์ผํ ํ์ผ์ ์์ ํ ๊ฒฝ์ฐ ์ด๋ค ๋ด์ฉ์ ๋ฐ์ํด์ผํ๋์ง ํ๋จํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ์ถฉ๋์ด ๋ฐ์
1) ์ค๋ฅ ๋ด์ฉ
You have unmerged paths.
Unmerged paths:
2) ์ค๋ฅ ํ์ธ
git status // ๋ณํฉํ์ง ๋ชปํ ํ์ผ ํ์ธ
3) ์ค๋ฅ๊ฐ ์ผ์ด๋ ํ์ผ (์ฝ๋)
<<<<<<< HEAD (๋ง์คํฐ ๋ธ๋์น ํน์ ํด๋น ๋ธ๋์น)
main
=======
develop
>>>>>>> develop (๋ณํฉํ๊ณ ์ํ๋ ๋ธ๋์น)
4) ์ฝ๋ ์์ (๋ ์ค ํ๋ ์ ํ or ์๋ก์ด ๋ด์ฉ)
5) ์์ ๋ด์ฉ ๋ฐ์
git add ํ์ผ๋ช
git commit
'๐ etc > Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git] .gitignore ํ์ผ์ ํตํด ํน์ ํ์ผ ์ ๋ก๋ํ์ง ์๊ธฐ (0) | 2022.06.21 |
---|---|
[Git] Error : adding embedded git repository (0) | 2022.06.21 |
[Git] pull VS fetch VS clone (0) | 2022.06.21 |
[Git] directory์ ๋ค๋ฅธ repository๊ฐ ์ด๋ฏธ ์ฐ๊ฒฐ๋์ด์๋ ๊ฒฝ์ฐ๋ผ๋ฉด? (0) | 2022.06.21 |
[Git] ์ฝ๋๋ฅผ ์๊ฒฉ ์ ์ฅ์ github repository์ ์ ๋ก๋ํ๊ธฐ (macOS) (0) | 2022.06.21 |
์ต๊ทผ๋๊ธ