git push
์ ๋ณด
git push
๋ช
๋ น์ ๋ค์ ๋ ๊ฐ์ ์ธ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์๊ฒฉ ์ด๋ฆ(์:
origin
) - ๋ถ๊ธฐ ์ด๋ฆ(์:
main
)
์์:
git push REMOTE-NAME BRANCH-NAME
์๋ฅผ ๋ค์ด ๋ก์ปฌ ๋ณ๊ฒฝ ๋ด์ฉ์ ์จ๋ผ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํธ์ํ๋ ค๋ฉด ์ผ๋ฐ์ ์ผ๋ก git push origin main
์ ์คํํฉ๋๋ค.
๋ถ๊ธฐ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ
๋ถ๊ธฐ์ ์ด๋ฆ์ ๋ฐ๊พธ๋ ค๋ฉด ๋์ผํ git push
๋ช
๋ น์ ์ฌ์ฉํ์ง๋ง ์ ๋ถ๊ธฐ์ ์ด๋ฆ์ด๋ผ๋ ์ธ์๋ฅผ ํ๋ ๋ ์ถ๊ฐํฉ๋๋ค. ์์:
git push REMOTE-NAME LOCAL-BRANCH-NAME:REMOTE-BRANCH-NAME
์ด๋ ๊ฒ ํ๋ฉด LOCAL-BRANCH-NAME
์ด REMOTE-NAME
์ผ๋ก ํธ์๋์ง๋ง ์ด๋ฆ์ด REMOTE-BRANCH-NAME
์ผ๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค.
โnon-fast-forwardโ ์ค๋ฅ ์ฒ๋ฆฌ
๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ก์ปฌ ๋ณต์ฌ๋ณธ์ด ์ฌ์ฉ์๊ฐ ํธ์ํ๋ ค๋ ์
์คํธ๋ฆผ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋๊ธฐํ๋์ง ์๊ฑฐ๋ โ๋ค์โ ์๋ ๊ฒฝ์ฐ non-fast-forward updates were rejected
๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
์ฆ, ๋ก์ปฌ ๋ณ๊ฒฝ ๋ด์ฉ์ ํธ์ํ๊ธฐ ์ ์ ์
์คํธ๋ฆผ ๋ณ๊ฒฝ ๋ด์ฉ์ ๊ฒ์ํ๊ฑฐ๋ โํ์นโํด์ผ ํฉ๋๋ค.
์ด ์ค๋ฅ์ ๋ํ ์์ธํ ๋ด์ฉ์ non-fast-forward ์ค๋ฅ ์ฒ๋ฆฌ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ฐจ๋จ๋ ์ปค๋ฐ ํด๊ฒฐ
ํธ์ํ๋ ค๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ณด์์ ์ ์งํ๊ธฐ ์ํด GitHub์ ํธ์ ๋ณดํธ๋ GitHub.com์์ ์ค์๋ก ๋น๋ฐ์ ํผ๋ธ๋ฆญ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ปค๋ฐํ์ง ์๋๋ก ์๋์ผ๋ก ๋ณดํธํฉ๋๋ค. ๋ ธ์ถ๋ ๋น๋ฐ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ณต๊ธ๋ง์ ์ฌ๊ฐํ ๋ณด์ ์ํ์ ์ด๋ํ ์ ์์ต๋๋ค. GitHub์์ ํธ์ํ๋ ค๋ ์ปค๋ฐ์ ์ง์๋๋ ๋น๋ฐ์ด ํฌํจ๋์ด ์์์ ๊ฐ์งํ๋ฉด ํธ์๊ฐ ์ฐจ๋จ๋ฉ๋๋ค. ๋ธ๋ก์ ํด๊ฒฐํ๋ ค๋ฉด ๋ค์ ์ค ํ๋๋ฅผ ์ํํด์ผ ํฉ๋๋ค.
- ์ปค๋ฐ์์ ๋น๋ฐ์ ์ ๊ฑฐํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฐจ๋จ๋ ํธ์ ํด๊ฒฐ์ ์ฐธ์กฐํ์ธ์.
- ์ ๊ณต๋ URL์ ๋ฐ๋ผ ํธ์๋ฅผ ํ์ฉํ๋ ์ต์ ์ ํ์ธํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํธ์ ๋ณดํธ ๋ฌด์๋ฅผ ์ฐธ์กฐํ์ธ์.
ํธ์ ๋ณดํธ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฌ์ฉ์์ ๋ํ ํธ์ ๋ณดํธ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
ํ๊ทธ ํธ์
git push
๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ถ๊ฐ ๋งค๊ฐ ๋ณ์ ์์ด, ์๊ฒฉ ๋ถ๊ธฐ์ ์ด๋ฆ์ด ๊ฐ์ ๋ชจ๋ ์ผ์นํ๋ ๋ถ๊ธฐ๋ฅผ ๋ณด๋
๋๋ค.
๋จ์ผ ํ๊ทธ๋ฅผ ํธ์ํ๋ ค๋ฉด ๋ถ๊ธฐ ํธ์์ ๋์ผํ ๋ช ๋ น์ ์คํํ ์ ์์ต๋๋ค.
git push REMOTE-NAME TAG-NAME
๋ชจ๋ ํ๊ทธ๋ฅผ ํธ์ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ ์ ๋ ฅํ ์ ์์ต๋๋ค.
git push REMOTE-NAME --tags
์๊ฒฉ ๋ถ๊ธฐ ๋๋ ํ๊ทธ ์ญ์
๋ถ๊ธฐ๋ฅผ ์ญ์ ํ๋ ๊ตฌ๋ฌธ์ ์ธ๋ป ๋ณด๊ธฐ์ ์ฝ๊ฐ ๋ชจํธํฉ๋๋ค.
git push REMOTE-NAME :BRANCH-NAME
์ฝ๋ก ์์ ๊ณต๋ฐฑ์ด ์์ต๋๋ค. ์ด ๋ช
๋ น์ ๋ถ๊ธฐ ์ด๋ฆ์ ๋ฐ๊พธ๊ธฐ ์ํด ์ํํ๋ ๋จ๊ณ์ ์ ์ฌํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ธฐ์๋ REMOTE-NAME
์ BRANCH-NAME
์ ์๋ฌด๊ฒ๋ ํธ์ํ์ง ์๋๋ก Git์ ์ง์ํฉ๋๋ค. ์ด ๋๋ฌธ์ git push
๋ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ถ๊ธฐ๋ฅผ ์ญ์ ํฉ๋๋ค.
์๊ฒฉ ๋ฐ ํฌํฌ
GitHub์์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ โํฌํฌโํ ์ ์์์ ์ด๋ฏธ ์๊ณ ์์ ์ ์์ต๋๋ค.
์์ ํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํ ๋ Git์ ์
๋ฐ์ดํธ๋ฅผ ๊ฐ์ ธ์ค๊ณ ํธ์ํ ์์น๋ฅผ ์๋ ค์ฃผ๋ ์๊ฒฉ URL์ ์ ๊ณตํ์ธ์. ์๋ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ํ์
ํ๋ ค๋ฉด ์ ์๋ ์ผ๋ฐ์ ์ผ๋ก upstream
์ด๋ผ๊ณ ํ๋ ์ ์๊ฒฉ URL์ ๋ก์ปฌ Git ํด๋ก ์ ์ถ๊ฐํ์ต๋๋ค.
git remote add upstream THEIR_REMOTE_URL
์ด์ ํด๋น ํฌํฌ์์ ์ ๋ฐ์ดํธ ๋ฐ ๋ถ๊ธฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
git fetch upstream
# Grab the upstream remote's branches
> remote: Counting objects: 75, done.
> remote: Compressing objects: 100% (53/53), done.
> remote: Total 62 (delta 27), reused 44 (delta 9)
> Unpacking objects: 100% (62/62), done.
> From https://github.com/OCTOCAT/REPO
> * [new branch] main -> upstream/main
๋ก์ปฌ ๋ณ๊ฒฝ์ด ์๋ฃ๋๋ฉด ๋ก์ปฌ ๋ถ๊ธฐ๋ฅผ ํธ์ํ์ฌ GitHub ๋์ด์ค๊ธฐ ์์ฒญ์ ์์ํ ์ ์์ต๋๋ค.
ํฌํฌ ์์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํฌํฌ ๋๊ธฐํ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.