[GIT] 브랜치 전송

2022. 8. 5. 23:09GIT

브랜치 푸시

깃의 push 작업은 로컬 저장소의 파일들을 원격 저장소로 전송한다.

파일뿐만 아니라 브랜치 정보와 커밋까지 모두 전송한다.

처음으로 로컬 저장소에 새로운 원격 저장소가 등록되면 push 명령어를 사용할 때 오류 메시지가 출력된다.

깃이 원격 저장소 어느 브랜치에 푸시해야할지 모르기 때문이다.

업스트림 브랜치 없어서 오류 메시지 출력

원격 저장소 등록만으로는 업스트림이 자동으로 설정되지 않는다.

현재 브랜치에서 원격 저장소 origin 서버의 master 브랜치로 업스트림 설정하려면

$ git push --set-upstream 원격저장소 master

new-repos 원격 저장소의 master 브랜치를 업스트림 설정

 

로컬 저장소의 브랜치마다 원격 저장소의 어떤 브랜치에 푸쉬할지 업스트림 설정을 해야한다.

 

※ 처음 로컬 저장소가 원격 저장소에 연결되면 아이디와 패스워드를 묻는다.

아이디와 패스워드를 정확하게 입력하면 성공적으로 푸쉬된다.

접속할 때 "error: insufficient permission for adding an object to repository database" 처럼 메시지가 출력되면

서버 계정 권한이 부족한 것이다.

 

브랜치 페치

리모트 브랜치 페치는 일반적인 커밋 페치와 동일하다.

리모트 브랜치를 페치한다고 해서 자동으로 로컬 저장소에 새로운 브랜치가 생성되지는 않는다.

페치 동작은 원격 저장소에서 리모트 브랜치 내용을 내려받기만 할 뿐 자동으로 병합하지는 않기 때문이다.

 

리모트 브랜치가 페치되면 원격저장소별칭/브랜치 포인터만 생성한다.

원격 저장소에서 페치된 커밋들을 새로운 로컬 브랜치로 반영하려면 병합 명령을 실행해야 한다.

$ git merge 원격저장소별칭/브랜치이름

현재 브랜치에서 해당 원격저장소 브랜치를 병합한다.

 

페치된 브랜치를 병합하지 않고 테스트만 하고 싶을 때도 있을 수 있다.

이 때는 원격 브랜치의 포인터를 사용하여 임시 브랜치를 생성하거나 직접 체크아웃할 수 있다.

$ git checkout -b 임시브랜치이름 원격저장소별칭/브랜치이름

 

 

 

728x90

'GIT' 카테고리의 다른 글

[GIT] 스태시  (0) 2022.08.08
[GIT] 브랜치 삭제  (0) 2022.08.05
[GIT] 원격 브랜치  (0) 2022.08.05
[GIT] 브랜치 생성과 이동 동시에 하기  (0) 2022.08.03
[GIT] HEAD 포인터  (0) 2022.08.03