ํŠน์ • branch clone
git clone -b {branch_name} --single-branch {์ €์žฅ์†Œ URL}
ex) git clone -b javajigi --single-branch https://github.com/javajigi/java-racingcar

 

 

 

single branch clone ์ดํ›„ ํŠน์ • branch ์ถ”๊ฐ€ clone
git remote set-branches --add origin {branch_name}
git fetch origin dev_front

# ๋ธŒ๋žœ์น˜ ๋ฆฌ์ŠคํŠธ ํ™•์ธ
git branch -a

git checkout {branch_name}

ํšŒ์‚ฌ ๋‚ด์—์„œ ์ƒˆ๋กœ ๊ตฌ์ถ•์ค‘์ธ ํŒจํ‚ค์ง€์—์„œ๋Š” ์ฝ”์–ด ๋‹จ๊ณ„ ์†Œ์Šค๋Š” ๋”ฐ๋กœ ๊ฐœ๋ฐœํ•˜๊ณ 

๊ฐ ์‚ฌ์ดํŠธ๋งˆ๋‹ค ๋“ค์–ด๊ฐ€๋Š” ์ปค์Šคํ…€ ํŽ˜์ด์ง€๋ฅผ ๋ถ™์—ฌ์„œ ์˜คํ”ˆํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์ฝ”์–ด ๋‹จ๊ณ„ ์†Œ์Šค๋Š” git submodule์„ ์‚ฌ์šฉํ•ด์„œ ์ž‘์—…์ค‘์ด๋‹ค.

 

์•„๋ž˜ ๋‚ด์šฉ์€ ํ•ด๋‹น ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฒซ ํ”„๋กœ์ ํŠธ๋ฅผ git clone ๋ฐ›์€ ํ›„

submodule๋กœ ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ์ฝ”์–ด ์†Œ์Šค๋ฅผ pull ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

๋จผ์ € ๋ฉ”์ธ ํ”„๋กœ์ ํŠธ๋ฅผ clone ๋ฐ›์€ ํ›„ !

# ์„œ๋ธŒ๋ชจ๋“ˆ์„ ์ฒ˜์Œ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‹คํ–‰
# ์„œ๋ธŒ๋ชจ๋“ˆ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋กœ์ปฌ ํ™˜๊ฒฝ์„ค์ • ํŒŒ์ผ ์ค€๋น„
# .gitsubmodules ํŒŒ์ผ์— ์žˆ๋Š” ์ •๋ณด๋ฅผ .git/config์— ๋“ฑ๋ก
# git config -list -local๋กœ ๋“ฑ๋ก ๊ฒฐ๊ณผ ํ™•์ธ ๊ฐ€๋Šฅ
git submodule init

# ์„œ๋ธŒ๋ชจ๋“ˆ ์ตœ์‹ ํ™”
git submodule update

# ์ฒ˜์Œ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒฝ์šฐ ์œ„ ๋‘๊ฐ€์ง€๋ฅผ ํ•œ๋ฒˆ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ
git submodule update --init

 

๊ทธ ๋‹ค์Œ ์•„๋ž˜๋Š” ์„œ๋ธŒ๋ชจ๋“ˆ ์ตœ์‹ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ• !

git submodule update --remote --merge

ํšŒ์‚ฌ์—์„œ Git ์“ฐ๋‹ค๊ฐ€ ์ปค๋ฐ‹ ๋‹ค ๊ผฌ์—ฌ์„œ ๋‚˜๋จธ์ง€๋Š” ํ•ด๊ฒฐํ•˜๊ณ 

์—‰๋ง์ง„์ฐฝ์ธ Branch ํ•˜๋‚˜๋ฅผ Git์—์„œ ์‚ญ์ œํ–ˆ๋Š”๋ฐ

๋กœ์ปฌ Branch์—๋Š” ๊ทธ๋Œ€๋กœ ๋‚จ์•„์žˆ๋Š”๊ฑฐ ํ•ด๊ฒฐํ•˜๋Š” ๊ธฐ๋ก โœ…


 

1. Local Branch ๋ชฉ๋ก ํ™•์ธ

git branch

 

 

2. Remote Branch (์›๊ฒฉ) ๋ชฉ๋ก ํ™•์ธ

git branch -r

 

 

์œ„ ๋‘๊ฐœ๋ฅผ ์กฐํšŒํ–ˆ์„๋•Œ ๋ชฉ๋ก์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ ๋™๊ธฐํ™”๋ฅผ ํ•ด์ค˜์•ผํ•œ๋‹ค.

 

 

3. Branch ๋™๊ธฐํ™”

git fetch --all --prune
git remote prune origin

๋‘˜์ค‘์— ํ•˜๋‚˜ ๊ณจ๋ผ์„œ ์“ฐ๋ฉด ๋™๊ธฐํ™” ์™„๋ฃŒ โœ…

 

๋‚˜๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” Git ์ž์ฒด์—์„œ Branch๋ฅผ ์‚ญ์ œํ•ด์„œ ๋™๊ธฐํ™” ์ž‘์—…์ด ํ•„์š”ํ–ˆ์ง€๋งŒ,

์ฝ”๋“œ๋กœ Branch๋ฅผ ์‚ญ์ œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฐ‘์— ๐Ÿ˜œ

 

 

4. Local Branch ์‚ญ์ œ

git branch -d <branchName>

 

 

5. Remote Branch ์‚ญ์ œ

git push origin --delete <branchName>
git push origin : <branchName>

 

 

6. ์ฐธ๊ณ 

๋ช…๋ น๋ฌธ --dry-run

์‹ค์ œ ์‹คํ–‰์ด ์•„๋‹Œ ๊ฒฐ๊ณผ๊ฐ’๋งŒ ๋ฏธ๋ฆฌ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

'Version Control > Git' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Git] ํŠน์ • Branch Clone, ์ดํ›„ ๋‹ค๋ฅธ branch clone ์ถ”๊ฐ€  (0) 2025.02.18
[Git] submodule init/clone/update  (0) 2024.06.19

+ Recent posts