git branch์ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ๋ฒ๊ณผgit flow ํด์ ์ด์ฉํ ๋ธ๋์น ๊ด๋ฆฌ, ๋ฒ์ ์์ฑ์ ๋ํด ๊ณต๋ถํ์์ต๋๋ค.
ํ์
ํ ๋ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋ ๋ฐฉ์์ด ๋๋ฏ๋ก ํ์คํ ๋ค๋ฃฐ ์ ์๋๋ก ์ฐ์ตํ ํ์๊ฐ์๊ฒ ์ต๋๋คโ๏ธ
git branch
git branch {๋ธ๋์น๋ช
}
git branch -D {๋ธ๋์น๋ช
}
git switch {๋ธ๋์น}
git merge {๋ธ๋์น}
-git merge ์ CONfLICT๊ฐ ๋ฐ์ํ ์ ์์ผ๋ ์ด๋ ์์ ์ฌํญ์ ์ถฉ๋์ด ์๊ฒผ์์ ์๋ฏธํ๋ฉฐ, ์ถฉ๋ํ ๋ถ๋ถ์ ๋ํ ์์ ํ ์ปค๋ฐํ์ฌ ํด๊ฒฐ.
-git commit -m "" ์ ์๋์ผ๋ก ์์ฑ๋๋ ์ปค๋ฐ๋ฉ์ธ์ง๋ฅผ ๋ฌด์ํ๋ฉฐ ์์ฑ๋๋ฏ๋ก ๊ถ์ฅํ์ง ์์.
-main ๋ธ๋์น๋ฅผ ์ ์ธํ ๋ธ๋์น๋ค์ ์ต์ด push ์ ์ต์ ์ผ๋ก -u ๋ฅผ ๋ถ์ฌ์ฃผ์.
ํ์ผ๋ช ๋ณ๊ฒฝ
git mv
๋ก ํ์ผ๋ช
์ ๋ณ๊ฒฝํ๊ณ git status
๋ฅผ ํ์ธํ๋ฉด ๊ธฐ์กด์ ํ์ผ์ ์ญ์ ๋๊ณ ์๋ก ์ง์ ํ ํ์ผ๋ช
์ ํ์ผ์ด ์๋ก ์์ฑ๋์๋ค๊ณ ์ธ์
(์ด๋๋ ๋ค์ ํ์ผ๋ช
์ ์๋๋๋ก ๋๋ ค๋์ ํด๊ฒฐ ํ ์ ์๋ค.)
ํ์ผ๋ช
๋ณ๊ฒฝ์ ์ํ ๋ git mv
๋ก ๋ณ๊ฒฝ
git mv
๋ก ํ์ผ๋ช
๋ณ๊ฒฝํ์๋ add๋ฅผ ์๋ตํ๊ณ ๋ฐ๋ก commitํ ์ ์๋ค.
๋ณ๊ฒฝ์ฌํญ์ ์ทจ์ํ๊ณ ์ต์ ์ปค๋ฐ์ํ๋ก ๋์๊ฐ๊ธฐ (git add ์ )
git restore {ํ์ผ๋ช
}
git checkout --{ํ์ผ๋ช
}
((๊ตฌ๋ฒ์ ))addํ ์์ ๋ฌผ unstagingํ๊ธฐ
git reset HEAD {ํ์ผ๋ช
}
์ง์ ์ปค๋ฐ๋ฉ์ธ์ง ์์ ํ๊ธฐ
git commit --amend
์ด๋ฏธ ์ปค๋ฐํ ๋ด์ฉ ๋๋๋ฆฌ๊ธฐ
git revert HEAD
๋ก ์ง์ ์ปค๋ฐ ๋๋๋ฆฌ๊ธฐ
git revert --no-commit HEAD~3..
- git revert : ์ปค๋ฐ์ ๋๋๋ฆฌ๊ฒ ๋ค
- --no-commit : ์ปค๋ฐ๋ฉ์ธ์ง๋ฅผ ๋จ๊ธฐ์ง์๊ฒ ๋ค
- HEAD~3.. : ๊ฐ์ฅ ์ต์ ์ปค๋ฐ๋ถํฐ 3๊ฐ์ ์ปค๋ฐ์ ์์ฐจ์ ์ผ๋ก
๋ ๊ฐ๋ ฅํ reset๊ธฐ๋ฅ๋ ์กด์ฌํ๋ reset์ ์ทจ์ํ ์ปค๋ฐ์ ๋ํ ๊ธฐ๋ก์ ๊นจ๋ํ ์ง์๋ฒ๋ฆฌ๋ฏ๋ก ์ฌ์ฉ์ ๊ถ์ฅํ์ง์์
windows ์๋ ์๋์ผ๋ก gitflow์ ํ ์ด ๋์ด์์ผ๋ macOS ์ฌ์ฉ์๋ ์ค์นํ์.
gitflow ์ค์นํ์ด์ง
์์
ํ ๋ธ๋์น์์ git flow init
git flow feature start {๋ธ๋์น๋ช
}
git flow feature finish {๋ธ๋์น๋ช
}
git flow release start {๋ฒ์ }
git flow release finish {๋ฒ์ }
์ด์ ๊น์ง git์ผ๋ก github์ ๊ฐ์ธ์์
๋ฌผ์ ์
๋ก๋ํ๊ฑฐ๋ ๋ฉ์ธ ๋ธ๋์น์์ ํ๋์ ๊ฐ์ง๋ฅผ ์น๊ณ ์์
ํ ๋ค ๋ฉ์ธ ๋ธ๋์น๋ก ๋ณํฉํ๋ ์ ๋์ ๋จ์ํ ์ฌ์ฉ๋ง ํ ์ค ์์์๋๋ฐ ์กฐ๊ธ ๋ ์ธ๋ถ์ ์ผ๋ก ๋ธ๋์น๋ฅผ ๋๋๊ณ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋ณด์์ต๋๋ค ๐ฅฐ
ํนํ git flow๋ฅผ ๋ฐฐ์๋ณด๋ ํ์
์ ํ๋ ๋ฐฉ์์ ๋ํ ๊ฐ์ ์ ์ธ ๊ฒฝํ์ด ๋ ๋ฏ ํฉ๋๋ค!