Skip to content

Contribution

Youngjin Mo edited this page Oct 2, 2021 · 5 revisions

Clone a repository

Repositoryλ₯Ό clone ν•©λ‹ˆλ‹€.

git clone https://github.com/Bom-start/ReadingRecord.git

Create a branch

μžμ‹ μ˜ μ΄λ¦„μœΌλ‘œ 브랜치λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

git branch [your-name]
git switch [your-name]

λ§Œμ•½ 이미 μƒμ„±ν•œ λΈŒλžœμΉ˜κ°€ μžˆλ‹€λ©΄, 둜컬둜 브랜치λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.

git switch [your-name]

Add commits

μ •λ¦¬ν•œ λ¬Έμ„œλŠ” μ•„λž˜μ˜ κ΅¬μ„±μœΌλ‘œ 디렉토리λ₯Ό κ΅¬μ„±ν•˜μ—¬ μΆ”κ°€ν•΄μ£Όμ„Έμš”.

\---ν† λΉ„μ˜ μŠ€ν”„λ§                  // 책이름
    +---vol1       
        +---1μž₯                 // 챕터
            \--λͺ¨μ˜μ§„.md         // 이름.md
        +---2μž₯
        \---3μž₯
    \---vol2 

Rebase and Push commits

컀밋을 μƒμ„±ν–ˆλ‹€λ©΄ 이제 원격저μž₯μ†Œμ˜ μžμ‹ μ΄ μƒμ„±ν•œ 브랜치둜 컀밋을 push ν•΄μ£Όμ„Έμš” πŸ˜€

βœ‹πŸΌ ν•˜μ§€λ§Œ 잠깐만..!

push ν•˜κΈ° 전에 main 브랜치의 변경사항을 rebaseλ₯Ό ν•΄μ•Όν•©λ‹ˆλ‹€.

rebaseλž€, gitμ—μ„œ commit을 μ‘°μž‘ν•  수 μžˆλŠ” λͺ…λ Ήμ–΄μž…λ‹ˆλ‹€.

λ‹€λ₯Έ 뢄듀이 이미 원격저μž₯μ†Œ(Remote repo)의 main λΈŒλžœμΉ˜μ— PR을 올리고, 이 PR듀이 merge λ˜μ—ˆλ‹€λ©΄, ν˜„μž¬ 저희가 각자 μž‘μ—…μ€‘μΈ 둜컬 λΈŒλžœμΉ˜μ—λŠ” 이 변경사항이 λ°˜μ˜λ˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— PR을 μƒμ„±ν•˜λ”λΌλ„ mergeλ₯Ό λͺ»ν•˜λŠ” 상황이 λ κ±°μ—μš”.

λ”°λΌμ„œ push ν•˜κΈ° μ•žμ„œ 원격저μž₯μ†Œμ˜ main 브랜치의 μ΅œμ‹  컀밋듀을 λ¨Όμ € λ‘œμ»¬μ—μ„œ λ°˜μ˜ν•œ 이후 push λ₯Ό ν•˜λŠ”κ²Œ μ’‹μ•„μš”. 이 과정은 μ•„λž˜μ˜ μ΄λ―Έμ§€λ‘œ μ΄ν•΄ν•˜μ‹œλ©΄ λ„μ›€λ κ±°μ—μš”!

μ΄λ ‡κ²Œ ν•˜λ©΄, 원격 μ €μž₯μ†Œμ˜ main 브랜치의 μƒˆλ‘œμš΄ 컀밋듀이 μžμ‹ μ˜ 둜컬 브랜치 μ»€λ°‹λ“€λ‘œ μΆ”κ°€λ κ±°μ—μš” πŸ˜€

μ»€λ§¨λ“œλΌμΈ λͺ…λ Ήμ–΄λŠ” μ•„λž˜μ— μ •λ¦¬ν–ˆλ‘μ—ˆμŠ΅λ‹ˆλ‹€! SourceTree와 같은 GUI νˆ΄μ„ μ΄μš©ν•˜μ‹œλŠ” 뢄듀도 μ•„λž˜μ˜ λͺ…λ Ήμ–΄ ν‚€μ›Œλ“œλ‘œ κ²€μƒ‰ν•˜μ‹œλ©΄ 방법을 μ°ΎμœΌμ‹€ 수 μžˆμ„κ²λ‹ˆλ‹€! πŸ‘ŒπŸΌ

git switch main         // main 브랜치둜 이동 (switch/checkout)
git pull main           // main 브랜치, 원격저μž₯μ†Œμ™€ 동기화

git switch [your-name]  // μž‘μ—…μ€‘μΈ 브랜치둜 볡귀
git rebase main         // main 브랜치 변경사항을 ν˜„μž¬μ˜ 브랜치둜 κ°€μ Έμ˜€κΈ° (rebase)

git log --oneline       // 컀밋 νžˆμŠ€ν† λ¦¬κ°€ μ˜λ„ν•œλŒ€λ‘œ μ‘°μž‘ (rebase) λ˜μ—ˆλŠ”μ§€ 확인 
git push                // 원격 μ €μž₯μ†Œμ— 반영 (이제 PR이 κ°€λŠ₯ν•œ 상황)

Create a PR

μƒˆλ‘œ μΆ”κ°€ν•œ λ¬Έμ„œλ₯Ό mainλΈŒλžœμΉ˜μ— λ°˜μ˜μ„ μ›ν•˜μ‹ λ‹€λ©΄, main 브랜치둜 PR을 μƒμ„±ν•΄μ£Όμ„Έμš”.

Clone this wiki locally