git ์ฌ์ฉํ๊ธฐ
๊ฐ๋ฐ ์ ํ์๊ด๋ฆฌ๋ก git์ ์ฌ์ฉํ๋ค๋ฉด ๊ธฐ๋ฅ ๋ณ๋ก branch๋ฅผ ๋ฐ์ ๊ฐ๋ฐ ํ ์๋ณธ ์์ค์ mergeํ๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ๋ค.
vscode์ git scm์ ์ค์นํ์ฌ ๋ช ๋ น์ด ๊ธฐ๋ฐ์ผ๋ก git branch ๊ด๋ จ ๋ช ๋ น์ด๋ฅผ ๋ค๋ฃจ์ด๋ดค๋ค.
git branch ๋ฐ์ ๊ฐ๋ฐํ๊ณ ์ถฉ๋ ๋์ฒํ๊ธฐ
๐branch ์์ฑ
git branch [๋ง๋ค๋ธ๋์น๋ช
] [๋ถ๊ธฐํ ๋ธ๋์น๋ช
]
๐๋ค๋ฅธ branch ์์ค pull ๋ฐ๊ธฐ
git pull origin [๋ค๋ฅธ๋ธ๋์น๋ช
]
1. ์ฌ๊ธฐ์ ์ถฉ๋ ๋ฐ์ ์ ํ์ฌ branch ์์ ํ ํ์ผ์ ๋จผ์ commit & push ํ๋ค.(ํ์ฌ branch์ ์ฌ๋ฆฐ๋ค.)
2. ๋ค์ ์ ๋ช ๋ น์ด๋ก ๋ค๋ฅธ branch๋ฅผ pull ๋ฐ์ผ๋ฉด Automatic Merge Failed ๋๋ฉฐ ์ถฉ๋๋ ํ์ผ๊ณผ ํ์ผ ๋ด ์ถฉ๋ ์์น๊ฐ ๋ฌ๋ค.
3. ์ํ๋ ๋๋ก ์์ค๋ฅผ merge ํ์ฌ ์์ ํ๊ณ ๋ค์ commit & push ํ๋ค.
4. ํ์ฌ branch์ ๋ค๋ฅธ branch ๋ด์ฉ์ด ํฉ์ณ์ก๋ค.
2. ๋ค์ ์ ๋ช ๋ น์ด๋ก ๋ค๋ฅธ branch๋ฅผ pull ๋ฐ์ผ๋ฉด Automatic Merge Failed ๋๋ฉฐ ์ถฉ๋๋ ํ์ผ๊ณผ ํ์ผ ๋ด ์ถฉ๋ ์์น๊ฐ ๋ฌ๋ค.
3. ์ํ๋ ๋๋ก ์์ค๋ฅผ merge ํ์ฌ ์์ ํ๊ณ ๋ค์ commit & push ํ๋ค.
4. ํ์ฌ branch์ ๋ค๋ฅธ branch ๋ด์ฉ์ด ํฉ์ณ์ก๋ค.
๐branch ํฉ์น๊ธฐ
git merge [ํฉ์น ๋ธ๋์น๋ช
]
1. ์๋ณธ branch๋ก checkout ํ๊ณ ์ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ค.(๋ก์ปฌ ์๋ณธ branch + ๋ก์ปฌ ํฉ์น branch)
2. ์๋ณธ branch์ ์๊ฒฉ ์ต์ ์์ค๋ฅผ pull ๋ฐ๋๋ค.
3. ์ถฉ๋์ด ์์ ๊ฒฝ์ฐ ์ถฉ๋ ํ์ผ์ ํ์ธํ์ฌ ์์ ํ ํ ๋ค์ commit & push ํ๋ค.
2. ์๋ณธ branch์ ์๊ฒฉ ์ต์ ์์ค๋ฅผ pull ๋ฐ๋๋ค.
3. ์ถฉ๋์ด ์์ ๊ฒฝ์ฐ ์ถฉ๋ ํ์ผ์ ํ์ธํ์ฌ ์์ ํ ํ ๋ค์ commit & push ํ๋ค.
๐branch ์ญ์ ํ๊ธฐ
์๋ณธ branch์ ๊ฐ๋ฐํ branch๋ฅผ merge ํ์ผ๋ฉด ๊ฐ๋ฐ branch๋ ํ์์์ผ๋ฏ๋ก ์ญ์ ํ๋ค.
git branch -d [๋ธ๋์น๋ช
]
git push -d origin [๋ธ๋์น๋ช
]
1. ์ฒซ ๋ฒ์งธ ์ค ๋ช
๋ น์ด๋ก ๋ก์ปฌ ๋ธ๋์น๋ฅผ ์ญ์ ํ๋ค.
2. ๋ ๋ฒ์งธ ์ค ๋ช
๋ น์ด๋ก ์ญ์ ํ ๋ก์ปฌ ๋ธ๋์น๋ฅผ ์๊ฒฉ์ ๋ฐ์ํ๋ค.
branch๋ฅผ ์์ฑํด์ ๊ฐ๋ฐํ๋ค๊ฐ mergeํ ํ์๊ฐ ์์ผ๋ฉด ์๋ ๋ช ๋ น์ด๋ก merge๋์ง ์์ branch๋ฅผ ์ญ์ ํ๋ค.
git branch -D [๋ธ๋์น๋ช
]
๐branch ๋ชฉ๋ก ํ์ธ
git branch -v
merged ๋์ง ์์ ๋ธ๋์น ๋ชฉ๋ก๋ง ํ์ธํ๋ ค๋ฉด --merged ์ต์ ์ ์ถ๊ฐํ๋ค.
git branch --merged
๐ํ์ผ ๋๋๋ฆฌ๊ธฐ
checkout์ด๋ revert๋ก ํ์ผ์ ์ด์ ์ํ๋ก ๋๋๋ฆฐ๋ค.
git revert [์ปค๋ฐํด์ฌ]
๋๊ธ