๐คทโ๏ธ ๋ณธ๋ก ์ ์์
๊ฐ๋ฐ์๋ผ๋ฉด Git์ ํ์์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฒ์ ๊ด๋ฆฌ์์คํ ์ ๋๋ค.
Git์ ๋ฒ์ ๊ด๋ฆฌ์์คํ ์ ํ์ฉํด์ ํ๋ก์ ํธ์ ๋ฒ์ ์ ์ถ์ , ๊ด๋ฆฌ, ํ์๊ณผ ํ์ ํฉ๋๋ค.
์ ๋ ์ด๋ฒ ํ๋ก์ ํธ์์ ๋ธ๋์น๋ฅผ ๋ก์ปฌ, ์๊ฒฉ์์ ์ญ์ ํ๋ค๊ฐ ์ค์๋ก ๋ค๋ฅธ ๋ธ๋์น๋ฅผ ์ญ์ ํ์ต๋๋ค.
์์ด๋ฌ๋ํ๊ฒ๋.. ํ๋ฃจ๋ค์ ๋ค๋ฅธ ๋ธ๋์น๋ฅผ ์ญ์ ํ ๊ฒ์ ์์์ฐจ๋ฆฌ๊ธด ํ์ต๋๋ค.
๊ทธ๋์ ๋ถ๋ด๋ถ๋ด ์ญ์ ํ ๋ธ๋์น๋ฅผ ๋ณต๊ตฌํ๊ณ ๋ค์ ์์๋ณต๊ตฌ๋ฅผ ์์ผฐ์ต๋๋ค.
GIt์์ ์ ๊ณตํ๋ ๋ค์ํ ๊ธฐ๋ฅ๊ณผ ์ต์ ๋ค์ด ์์ง๋ง ์ด ๊ธ์์๋ ๋ธ๋์น(branch)์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค.
git clone -- recursive ์ต์ ์ ์๋ฏธ
https://cometruedream.tistory.com/217
๐คทโ๏ธ ๋ธ๋์น(Branch)๋?
๋ธ๋์น(Branch)๋ ๊ฐ๋ฐ์๋ค์ด ๋ง์ด ์ฌ์ฉํ๋ Git ๊ธฐ๋ฅ ์ค์ ํ๋์ ๋๋ค.
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค ๋ณด๋ฉด ๋ ๋ฆฝ์ ์ธ ๊ณต๊ฐ์์ ์์ ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
์ด๋ฐ ๊ฒฝ์ฐ์ Git ๋ธ๋์น(Branch)๋ ๋ ๋ฆฝ์ ์ผ๋ก ์์ ์ ์งํํ ์ ์๋ ๊ณต๊ฐ์ ์ ๊ณตํฉ๋๋ค.
๊ฐ๊ฐ ๋ธ๋์น๋ ๋ค๋ฅธ ๋ธ๋์น์ ์ํฅ์ ๋ฐ์ง ์๊ณ ๊ฐ๋ฐ์ ์งํํ๋ฉฐ ๋ธ๋์น๋ฅผ ํ์ฉํด์ ๋ค์ํ ์คํ, ํ ์คํธ, ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋ฉ์ธ ๋ธ๋์น๋ ๋ค๋ฅธ ๋ธ๋์น์ ์ด๋ ํ ์ํฅ๋ ์ฃผ์ง ์์ต๋๋ค.
์ด๋ฐ ์ด์ ๋ก ๋ธ๋์น ์์ฑํด์ ๋ ๋ฆฝ์ ์ธ ๊ณต๊ฐ์์ ๊ฐ๋ฐ์ ์งํํ๋ฉฐ ๋ฉ์ธ ๋ธ๋์น๋ฅผ ์์ ํ๊ฒ ์ ์งํ ์ ์์ต๋๋ค.
๐คทโ๏ธ ๋ธ๋์น(Branch) ์์ฑ & ์ญ์ & ๋ณต๊ตฌ ์ฌ์ฉ๋ฒ?
1. ๋ธ๋์น ์์ฑํ๊ธฐ
git branch <branch-name>
//๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก์ด ๋ธ๋์น๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
git checkout -b <branch-name>
//๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ธ๋์น๋ฅผ ์์ฑํ๊ณ ๋ฐ๋ก ์ด๋ํ ์ ์์ต๋๋ค.
์๋ก์ด ๋ธ๋์น๋ฅผ ์์ฑํ๋ฉด ํ์ฌ ๋ธ๋์น์ ๋ชจ๋ ์ปค๋ฐ ๊ธฐ๋ก์ ๊ทธ๋๋ ์ ์งํด์ ๊ฐ์ ธ์ต๋๋ค.
2. ๋ธ๋์น ์กฐํํ๊ธฐ
git branch
//๋ก์ปฌ์ ์์ฑ๋ ๋ธ๋์น๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.
git branch -a
//๋ก์ปฌ, ์๊ฒฉ์ ์์ฑ๋ ๋ชจ๋ ๋ธ๋์น๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.
git branch -r
//์๊ฒฉ ๋ธ๋์น๋ง ์กฐํํ ์ ์์ต๋๋ค.
3. ๋ก์ปฌ ๋ธ๋์น ์ญ์ ํ๊ธฐ
1. git branch -d <branch-name>
2. git branch -D <branch-name>
- -d ์ต์
์ผ๋ก ๋ธ๋์น๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค.
- ๋ธ๋์น์ ๋ณํฉ๋์ง ์์ ๋ณ๊ฒฝ ์ฌํญ ๋ฐ ํธ์๋์ง ์๋ ์ปค๋ฐ์ด ์์ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
- -D ์ต์
์ผ๋ก ๋ณํฉ, ํธ์๋์ง ์๋ ์ปค๋ฐ๊ณผ ์๊ด์์ด ๊ฐ์ ๋ก ๋ธ๋์น๋ฅผ ์ง์๋๋ค.
- -D ์ต์ ์ ํญ์ ์ ์คํด์ ์ฌ์ฉํด์ผ ๋ฉ๋๋ค.
4. ์๊ฒฉ ๋ธ๋์น ์ญ์ ํ๊ธฐ
git push origin -d <์๊ฒฉ ๋ธ๋์น ์ด๋ฆ>
- ๋ก์ปฌ ๋ธ๋์น๋ฅผ ์ญ์ ํ๋ git branch ๋์ ์๊ฒฉ ๋ธ๋์น๋ฅผ ์ญ์ ํ๋ ๋ช ๋ น์ด๋ git push์ ๋๋ค.
- git push ๋ค์์ ์๊ฒฉ ์ ์ฅ์ ์ด๋ฆ์ ๋ฃ์ด์ผ ํ๋ค. ๋๋ถ๋ถ์ ์๊ฒฉ ์ ์ฅ์ ์ด๋ฆ์ origin์ ๋๋ค.
- -d ์ต์ ์ ์ถ๊ฐํฉ๋๋ค.
- ์ญ์ ํ ์๊ฒฉ ๋ธ๋์น ์ด๋ฆ์ ๋ฃ์ต๋๋ค.
- ์ด ๋ช ๋ น์ด๋ก ์๊ฒฉ ๋ธ๋์น๋ฅผ ์ญ์ ํ๊ณ ์์ git branch ์กฐํ ๋ช ๋ น์ด๋ก ์ญ์ ์ ๋ฌด๋ฅผ ํ์ธํฉ๋๋ค.
5. ์ญ์ ํ ๋ธ๋์น ๋ณต๊ตฌํ๊ธฐ
git reflog
//์ต๊ทผ ์์
๋ด์ฉ์ ํ์ธํ ์ ์์ต๋๋ค.
0747303 (HEAD -> card, origin/card) HEAD@{0}: commit (merge): fix: merge user to card
๋ณต๊ตฌํ ๋ธ๋์น์ HEAD@{0} ํ์ธํฉ๋๋ค.
git checkout -b 'card' HEAD@{0}
์ด ๋ช ๋ น์ด๋ก ์ญ์ ํ ๋ธ๋์น๋ฅผ ๋ค์ ๋ณต๊ตฌํ ์ ์์ต๋๋ค.
HEAD@{}์ ๋ค์ด๊ฐ ๋ณต๊ตฌ ๋ธ๋์น์ ์ซ์๋ฅผ ์ ํํ ์ ๋ ฅํด ์ฃผ์๋ฉด ๋ฉ๋๋ค.
์ ๋ HEAD@{0} ๋ณต๊ตฌํ๊ณ ์ถ์ ๋ธ๋์น๊ธฐ ๋๋ฌธ์ HEAD@{0} ๋ฃ์์ต๋๋ค.
๊ฒฐ๊ณผ๋ ์ฑ๊ณต!!!!!!!
6. ๋ณต๊ตฌํ ๋ธ๋์น push ํด์ฃผ๊ธฐ
git push --set-upstream origin card
๋ณต๊ตฌํ ๋ธ๋์น์ ์ฝ๋๋ฒ ์ด์ค๊ฐ ์ด์ ๋์์ค๊ณ push๋ก ์๊ฒฉ์ ์ฅ์์ ๋ณด๋ด์ค๋๋ค.
๐คทโ๏ธ ๋ง์ง๋ง์ผ๋ก
์์ ๊ณผ์ ์ผ๋ก ์ญ์ ํ ๋ธ๋์น๋ฅผ ๋ณต๊ตฌํ์ต๋๋ค.
๋๊ตฌ๋ ์ค์๋ฅผ ํตํด์ ๋ฐฐ์ฐ๋ฏ์ด ์ ๋ ์ค์๋ก ์ญ์ ํ ๋ธ๋์น๋ฅผ ๋ค์ ๋ณต๊ตฌํ๊ณ ๋ณต๊ตฌํ ๋ธ๋์น์ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ด๋ฆฌ๋ฉด์ ํฐ ๋ฌธ์ ์์ด ์ง๋๊ฐ์ต๋๋ค.
์ด์ ๊ฐ์ Git๊ณผ ๋ธ๋์น(branch) ๊ฐ๋ ์ ์ดํดํ๋ฉด ํจ์จ์ ์ธ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํตํด ํ๋ก์ ํธ์ ํ์ง์ด ์ฌ๋ผ๊ฐ๋ฉฐ ์์ฐ์ฑ๊ณผ ํ์ ๊ฐ์ ํ์ ๋ฅ๋ ฅ์ ํฌ๊ฒ ํฅ์ํ ์ ์์ต๋๋ค.
GIt์ ๊ฐ๋ฐ์์๊ฒ ๋ค๋ค์ผ ํ ํ์์ ์ธ ๊ธฐ์ ์ด๊ธฐ๋ํฉ๋๋ค.
์ฌ๋ฐ๋ ์ค๋์ ๋ ๋ณ ์ด์ธ ๋ณด๊ณ ๊ฐ์ธ์!
https://cometruedream.tistory.com/247
https://cometruedream.tistory.com/243
https://cometruedream.tistory.com/242
https://cometruedream.tistory.com/241
https://cometruedream.tistory.com/244
'Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
git clone -- recursive ์ต์ ์ ์๋ฏธ (21) | 2023.07.13 |
---|---|
GitLab ๊ฐ๋ & ์ ๋ฆฌ (21) | 2023.07.10 |
[git] .gitignore์ด ์ ์ฉ์ด ์๋ ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ (15) | 2022.12.14 |
GIT ssh ์์ฑ ๋ฐ git remote ์ ์ฅ์ ssh๋ก ์ ์ (2) | 2022.05.23 |
[Git] Git Authentication Failed ์ฌ์ฉ์ ์ธ์ฆ ๋ฌธ์ ํด๊ฒฐ๋ฐฉ๋ฒ (2) | 2022.05.17 |