GitNotes.29-2.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 29.2: Push 작업

git push

위 명령은 사용자의 코드를 현재 설정된 upstream 을 대상으로 push 를 수행핳 것이다. push 설정에 따라, 해당 명령은 현재 브랜치의 코드만을 push 할수도 있고 (Git 2.x 버전에서의 기본값), 모든 브랜치들의 코드를 push 할수도 있다 (Git 1.x 버전에서의 기본값).

원격 저장소 지정하기

Git 상에서 작업을 수행할 때에는, 복수개의 원격 저장소를 등록해 놓는 것이 편리한 경우가 있다. 이런 경우 push 의 대상이 될 원격 저장소를 명시적으로 지정하고자 할 때는 아래와 같이 push 명령어에 대상 원격 저장소의 이름을 추가적으로 기입하도록 한다.

git push origin

브랜치 지정하기

특정 브랜치로의 (예:feature_x) push 를 수행하고자 한다면, 아래와 같이 수행한다:

git push origin feature_x

원격 추적(tracking) 브랜치 설정하기

현재 작업중인 브랜치가 본디 특정 원격 저장소로부터 불러들인 것이 아니라면, 처음부터 곧바로 git push 명령어 수행 시 정상 동작하지 않을 것이다. 이러한 경우, Git 으로 하여금 현재 브랜치가 어떤 원격 저장소의 어느 브랜치에 push 되어야 할지 아래의 명령어를 통해 알려주어야 한다.

git push --set-upstream origin master

위 명령어에서, master 부분은 원격 origin 의 브랜치 이름을 나타낸다. --set-upstream 대신에 축약 버전인 -u 를 사용할 수도 있다.

새로운 저장소로 push 수행하기

아직 생성하지 않았거나 빈 상태인 원격 저장소에 push 를 하고싶다면, 아래 순서를 따른다:

  1. (적합한 경우) GitHub 에 새로운 저장소를 생성한다.
  2. https://github.com/USERNAME/REPO_NAME.git 와 같은 형태로 사용자에게 제공되는 url 을 복사한다.
  3. 사용자의 로컬 저장소에서 git remote add origin <URL> 을 입력한다. 정상적으로 추가가 이루어졌는지 확인하고자 한다면, git remote -v 명령어를 사용한다.
  4. git push origin master 명령을 수행하여 사용자의 코드를 GitHub 에 최종적으로 push 한다.

설명

코드를 push 한다는 것은 git 이 로컬 커밋과 원격 커밋의 차이점을 분석한 후 upstream 에 해당 차이점이 기록될 수 있도록 전송을 수행한다는 것을 의미한다. push 가 성공할 경우, 사용자의 로컬 저장소와 원격 저장소의 내용이 동기화되고 다른 사용자들로 하여금 push 를 수행한 사용자의 커밋들에 접근할 수 있게 한다.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형

+ Recent posts