Skip to main content

Enterprise Server 3.15 은(는) 현재 릴리스 후보로 제공됩니다.

원격 리포지토리에 커밋 푸시

git push를 사용하여 로컬 분기에서 만든 커밋을 원격 리포지토리로 푸시합니다.

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-NAMEREMOTE-NAME으로 푸시되지만 이름이 REMOTE-BRANCH-NAME으로 변경됩니다.

“non-fast-forward” 오류 처리

리포지토리의 로컬 복사본이 사용자가 푸시하려는 업스트림 리포지토리와 동기화되지 않거나 “뒤에” 있는 경우 non-fast-forward updates were rejected라는 메시지가 표시됩니다. 즉, 로컬 변경 내용을 푸시하기 전에 업스트림 변경 내용을 검색하거나 “페치”해야 합니다.

이 오류에 대한 자세한 내용은 "non-fast-forward 오류 처리"을 참조하세요.

태그 푸시

git push는 기본적으로 추가 매개 변수 없이, 원격 분기와 이름이 같은 모든 일치하는 분기를 보냅니다.

단일 태그를 푸시하려면 분기 푸시와 동일한 명령을 실행할 수 있습니다.

git push REMOTE-NAME TAG-NAME

모든 태그를 푸시하려면 다음 명령을 입력할 수 있습니다.

git push REMOTE-NAME --tags

원격 분기 또는 태그 삭제

분기를 삭제하는 구문은 언뜻 보기에 약간 모호합니다.

git push REMOTE-NAME :BRANCH-NAME

콜론 앞에 공백이 있습니다. 이 명령은 분기 이름을 바꾸기 위해 수행하는 단계와 유사합니다. 그러나 여기서는 REMOTE-NAMEBRANCH-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://HOSTNAME/OCTOCAT/REPO
>  * [new branch]      main     -> upstream/main

로컬 변경이 완료되면 로컬 분기를 푸시하여 GitHub 끌어오기 요청을 시작할 수 있습니다.

포크 작업에 대한 자세한 내용은 “포크 동기화”을(를) 참조하세요.

추가 참고 자료