DevOps/Git

[GitHub / Git] 원격 μ €μž₯μ†Œ μ—…λ°μ΄νŠΈ 된 νŒŒμΌμ„ 둜컬 μ €μž₯μ†Œλ‘œ 뢈러였기(fetch, pull) [ Git Team Project ν˜‘μ—… ]

chaerlo127 2022. 1. 21. 17:20
728x90

UMCμ—μ„œ 

πŸ’»μ•± 런칭 ν”„λ‘œμ νŠΈπŸ’»λ₯Ό ν•œμ°½ 진행 쀑인데

Git을 μ²˜μŒμ¨λ΄μ„œ 어렀움을 κ²ͺκ³  μžˆλŠ” μš”μ¦˜μ΄λ‹€. 😒

특히, 원격 μ €μž₯μ†Œμ— pull request ν›„ merge 된 νŒŒμΌμ„

λ‹€μ‹œ λ‚΄ 둜컬 μ €μž₯μ†Œμ— λΆˆλŸ¬μ˜€λ €λ‹€κ°€ 

μ§€λ‚œλ²ˆ μ—λŸ¬κ°€ λ‚˜κ³ 

λ‹€μ‹œ 처음 fork λΆ€ν„° μ§„ν–‰ν–ˆλ˜ λΆˆμƒμ‚¬κ°€ μžˆμ—ˆλ‹€. 

 

 

1. git remote

git remote -v λ₯Ό 톡해 원격 μ €μž₯μ†Œκ°€ μ €μž₯ λ˜μ–΄ μžˆλŠ” 것을 ν™•μΈν•œ μ‚¬λžŒμ€ 이 과정을 κ±΄λ„ˆ 뛰어도 λœλ‹€.

upstream 의 κ²½μš°μ—λŠ” μžμ‹ μ΄ μ›ν•˜λŠ” μ΄λ¦„μœΌλ‘œ μ €μž₯ κ°€λŠ₯ν•˜λ‹€. ν•„μˆ˜μ μΈ 이름이 μ•„λ‹ˆλ‹€.

 

$ git remote add upstream [git clone μ£Όμ†Œ]
$ git remote -v

 

 

2. git fetch

$ git fetch upstream main
//upstream : μžμ‹ μ΄ μ •ν•œ 원격 μ €μž₯μ†Œ 이름
//main κ°€μ Έμ˜€κ³ μžν•˜λŠ” 원격저μž₯μ†Œ branch 이름

 

3. git branch

$ git branch -a

둜컬 μ €μž₯μ†Œμ— μ €μž₯ν•˜κΈΈ μ›ν•˜λŠ” branchλ₯Ό ν™•μΈν•œλ‹€.

remotes/origin/HEAD -> origin/main
remotes/origin/main
remotes/upstream/main

⬆ μš” λΉ¨κ°„ 뢀뢄이 μ€‘μš”ν•œ 것

 

4. git merge

$ git merge [μ›ν•˜λŠ” branch]


//μ˜ˆμ‹œ
$ git merge upstream/main

 

5. git push

Intellijλ₯Ό 톡해 λ‹€μš΄λ‘œλ“œ 된 νŒŒμΌμ„ pushν•œλ‹€.

 

 

fetch와 pull의 차이점을 ν™•μΈν•΄λ³΄λ‹ˆ λ‹€μŒκ³Ό κ°™μ•˜λ‹€.

fetchλŠ” λ³€κ²½ λ‚΄μš©μ΄ 둜컬 μ €μž₯μ†Œμ— 영ν–₯이 λ―ΈμΉ˜μ§€ μ•ŠμœΌλ©°, λ³‘ν•©ν•˜κΈ° 전에 ν™•μΈν•˜λŠ” μš©λ„λ‘œ μ‚¬μš©ν•œλ‹€.

pull은 λ³€κ²½ λ‚΄μš©μ΄ 둜컬 μ €μž₯μ†Œμ— 영ν–₯을 미치고, pull μž‘μ—… μ‹œ μΆ©λŒν•  수 μžˆλ‹€. λ˜ν•œ, 병합 λ˜λ©΄μ„œ μ–΄λ–€ λ‚΄μš©μ΄ λ°”λ€Œμ—ˆλŠ”μ§€ μ•Œ μˆ˜κ°€ μ—†λ‹€.

 

 

[좜처]

https://wonjerry.tistory.com/6

https://chaeyoung2.tistory.com/43

 

 

μ•„μ§κΉŒμ§€λŠ” git 에 μ΅μˆ™μΉ˜ μ•Šμ•„μ„œ λ‹€μ‹œ 곡뢀λ₯Ό 더 ν•΄μ•Όν•  것 κ°™λ‹€.

728x90