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

Section 3.10: 원격 저장소 이름 변경하기

등록된 원격 저장소의 이름을 변경하가 위해서는, git remote rename 명령어를 이용한다.

git remote rename 명령어는 두개의 파라미터를 받는다:

  • 기존 등록된 원격 저장소 이름 : 예) origin
  • 새롭게 부여할 원격 저장소 이름 : 예) destination

현재 등록된 원격 저장소들의 이름 확인하기

git remote # origin

현재 등록된 원격 저장소 목록을 URL 정보와 함께 확인하기

git remote -v # origin https://github.com/username/repo.git (fetch) # origin https://github.com/usernam/repo.git (push)

원격 저장소의 이름 변경하기

git remote rename origin destination # Change remote name from 'origin' to 'destination'

변경된 이름 확인하기

git remote -v # destination https://github.com/username/repo.git (fetch) # destination https://github.com/usernam/repo.git (push)

=== 명령어 수행 중 발생 가능한 에러들 ===

  1. Could not rename config section 'remote.[old name]' to 'remote.[new name]'

    이 에러는 변경하고자 하는 기존 원격 저장소 이름 (예:origin) 이 존재하지 않을 때 발생한다.

  2. Remote [new name] already exists.

    (에러 메시지 스스로가 잘 설명하고 있다.) 변경하려고 하는 새로운 원격 저장소 이름이 이미 존재한다.

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

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

Section 3.9: 원격 브랜치에 push 하기

원격 저장소의 특정 브랜치에 push 하기 위한 명령어는 다음과 같다:

git push <remote_name> <branch_name>

예제

git push origin master

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

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

Section 3.8: 새로운 브랜치에 Upstream 정보 설정하기

새로운 브랜치를 만들고 해당 브랜치로 전환 (switch) 하려면 아래와 같이 입력한다.

git checkout -b AP-57

이렇게 새로운 브랜치를 생성한 이후에, push 명령어에 사용될 upstream origin 정보를 아래와 같이 설정할 수 있다.

git push --set-upstream origin AP-57

위와 같이 설정하고 나면, 이후로는 해당 브랜치에서 git push 만 입력해서 설정해놓은 upstream 브랜치에 push 할 수 있다.

역주: --set-upstream 설정을 해놓지 않은 경우 git push origin AP-57 처럼 명시적으로 origin 의 특정 브랜치에 push 할 수 있습니다.

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

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

Section 3.7: 새로운 원격 저장소 추가하기

git remote add upstream git-repository-url

위 명령어는 "git-repository-url" 주소에 해당하는 원격 git 저장소를 "upstream" 이라는 이름의 원격 저장소로 자신의 git 저장소 내에 새로이 추가한다.

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

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

Section 3.6: ls-remote

git ls-remote 는 원격 저장소를 clone 이나 fetch 하지않고도 해당 저장소의 정보를 조회해 볼 수 있는 독특한 명령어이다.

이 명령어는 요청된 원격 저장소의 refs/heads 와 refs/tags 목록을 표시해줄 것이다.

가끔씩은 refs/tags/v0.1.6 같은 항목과 함께 refs/tags/v0.1.6^{} 항목이 표시될 때도 있다: ^{} 표시는 dereferenced annotated tag (해당 tag가 실제로 가리키고 있는 커밋) 를 나타낸다.

역주: Git 에서 tag 는 metadata 가 없는 lightweight tag 와 metadata 를 포함한 annotated tag 이 있으며, annotated 의 경우에는 해당 tag 객체 외에 tag 가 가리키고 있는 객체를 dereference 할 수 있습니다.

Git 2.8부터는 (March 2016 3월 이후 버전부터), tag 하나에 대해 위와 같이 중복된 항목을 표시하지 않고 tag 객체들만 나열할 수 있는 옵션이 추가되었다:

git ls-remote --refs

역주: 원문에서는 옵션 이름도 '--ref`로 되어 있고 설명도 "list directly those dereferenced tags" 라고 되어 있으나, 최신 홈페이지 확인 및 실제 테스트 해보면 tag 객체 자체에 대한 정보가 표시되어 내용을 수정하였습니다.

또한, 이 명령어는 "url.<base>.insteadOf" config 설정이 되어 있는 경우 원격 저장소 접근시에 사용되는 실제 url 을 확인하고자 할 때에 유용하게 사용할 수 있다.

만약 git remote --get-url <a remote name> 의 반환값이 https://server.com/user/repo 이고, Git 상에서 git config url.ssh://git@server.com:.insteadOf https://server.com/ 와 같은 설정을 해 놓았다면, 다음과 같은 결과를 얻을 수 있을 것이다:

git ls-remote --get-url <a remote name> ssh://git@server.com:user/repo

역주: url.~.insteadOf 설정은 원격 저장소 url 의 일부를 실제 원격 저장소 접근시 지정한 문자열로 자동 치환시킬 때 사용하는 설정입니다.

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

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

Section 3.5: Upstream 저장소로부터 변경 사항을 업데이트하기

Upstream 저장소를 이미 설정했다는 가정 하에, ("upstream 원격 저장소 설정하기" 섹션에서 설명했듯이) 아래와 같이 원격 저장소의 변경사항을 로컬에 업데이트 할 수 있다.

git fetch remote-name git merge remote-name/branch-name

pull 명령어는 위에서 소개한 fetchmerge 두 명령어를 한번에 수행하는 효과를 갖는다.

git pull

pull 명령어를 --rebase 옵션과 같이 사용하면 fetch 수행 후 merge 를 하는 대신 rebase 를 하게 된다.

git pull --rebase remote-name branch-name

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

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

Section 3.4: 원격 저장소에서 이미 삭제된 브랜치들의 로컬 사본 정리하기

원격 저장소에서 브랜치가 삭제되었다면, 로컬 저장소에서도 더 이상 유효하지 않은 해당 브랜치로의 참조 정보를 명시적으로 정리해야 한다.

특정 원격 저장소의 삭제된 브랜치 정보를 정리하려면:

git fetch [remote-name] --prune

모든 원격 저장소에 대해 삭제된 브랜치 정보를 정리하려면:

git fetch --all --prune

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

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

Section 3.3: 현재 등록되어 있는 원격 저장소들을 나열하기

현재 저장소에 등록된 모든 연관된 원격 저장소를 나열하려면 아래와 같이 입력한다 :

git remote

각각의 원격 저장소에 대해 fetch URL 과 push URL 을 포함하는 좀 더 상세한 정보를 나열하려면 아래와 같이 입력한다:

git remote --verbose

혹은 아래와 같이 간단하게 입력할 수도 있다:

git remote -v

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

반응형

+ Recent posts