Menu
Coddy logo textTech

Git Push

마지막 업데이트

git push는 로컬 브랜치의 커밋을 그에 대응하는 원격(예: GitHub)에 업로드합니다. 브랜치에 upstream이 설정되면 단순한 git push만으로 충분합니다. 새 브랜치의 첫 푸시는 -u를 사용해 원격 브랜치를 만들고 추적을 설정하므로, 이후의 푸시와 풀에는 인수가 필요 없습니다.

이것들을 터미널 플레이그라운드에서 사용해 보세요 - 브라우저 속 진짜 셸이며 설치할 것이 없습니다.

git push는 새 로컬 커밋을 원격 브랜치로 올립니다.

문법

CommandWhat it does
git push현재 브랜치를 upstream으로 푸시
git push -u origin feature새 브랜치를 푸시하고 upstream 설정
git push origin main특정 원격과 브랜치로 푸시
git push --tags모든 로컬 태그를 푸시
git push --force-with-leaserebase 후 안전하게 force push

흔한 경우

GoalCommand
완전히 새로운 브랜치 푸시git push -u origin feature
upstream 설정 후 푸시git push
단일 태그 푸시git push origin v1.0.0
원격 브랜치 삭제git push origin --delete feature

git push 자주 묻는 질문

새 브랜치를 원격에 어떻게 푸시하나요?
git push -u origin <branch>를 실행하세요. -u(--set-upstream의 약자)는 원격에 브랜치를 만들고 로컬 브랜치를 그것에 연결하므로, 이후에는 인수 없이 git pushgit pull이 동작합니다. 원격 브랜치는 이 첫 푸시 전까지는 존재하지 않습니다.
git push가 왜 'no upstream branch'라고 하나요?
로컬 브랜치가 아직 원격 브랜치에 연결되지 않았기 때문입니다. git push -u origin <branch>로 푸시해 원격 브랜치를 만들고 upstream을 설정하세요. 그 후에는 git push만으로도 커밋을 어디로 보낼지 알게 됩니다.
태그는 어떻게 푸시하나요?
태그는 기본적으로 푸시되지 않습니다. 단일 태그는 git push origin <tagname>으로, 전부 한 번에는 git push --tags로 푸시하세요. 이것은 흔한 함정입니다 - 로컬에서 만든 태그는 명시적으로 푸시하기 전까지는 원격에 나타나지 않습니다.
force push를 어떻게 안전하게 하나요?
히스토리를 다시 쓴 후(rebase 또는 amend)에는 --force 대신 git push --force-with-lease를 사용하세요. 마지막 fetch 이후 다른 누구도 푸시하지 않은 경우에만 원격을 덮어써서 팀원의 작업을 보호합니다. 전체 설명은 git force push 페이지를 참고하세요.
이것을 온라인으로 연습할 수 있나요?
네. 터미널 플레이그라운드를 열면 브라우저 속 진짜 셸에서 git push를 실행할 수 있습니다 - 설치할 것이 없습니다. Coddy의 무료 인터랙티브 Git 강좌도 원격 작업을 단계별로 다룹니다.
Coddy programming languages illustration

Coddy로 Git 배우기

시작하기