IT Share you

git pull 및 git push에 대한 다른 기본 원격 (추적 분기)

shareyou 2020. 12. 10. 21:30
반응형

git pull 및 git push에 대한 다른 기본 원격 (추적 분기)


git 저장소를 설정하는 방법이 있습니까? git pull기본값은 하나의 원격이고 git push기본값은 다른 원격입니다 . 분기 섹션 에서 변수 값을 변경하여 둘 다 설정할 수 있다는 것을 알고 있지만 각 방향에 대해 개별적으로 수행하는 방법은 무엇입니까?remote.git/config


Git 1.6.4 이상 remote.<name>.pushurl에서는 git config로 설정 합니다.

이것을 사용하여 읽기 전용 https:프로토콜을 사용하여 가져 오고 ssh 기반 프로토콜을 사용하여 푸시 할 수 있습니다.


origin의 URL이 ( remote.origin.url)입니다 https://git.example.com/some/repo.git. 읽기 전용이지만 ssh 기반 'URL'을 통해 쓰기 권한이 있습니다 git@git.example.com:some/repo.git. 다음 명령을 실행하여 ssh 기반 프로토콜을 적용합니다.

git config remote.origin.pushurl git@git.example.com:some/repo.git

Git 버전 1.7.0부터 다음과 같이 설정할 수 있습니다.

git remote set-url --push origin https://your.push.com/blah/

Git 1.8.3부터이 remote.pushDefault옵션을 사용하여 원하는 작업을 정확하게 수행 할 수 있습니다 (예 : pull및에 대한 다른 기본 리모컨 사용 push). 다른 옵션과 마찬가지로 옵션을 설정할 수 있습니다. 예를 들어 pushTarget원격 으로 설정 하려면

git config remote.pushDefault pushTarget

이 옵션은 다음과 같은 효과가 있습니다.

  • git pull에 의해 지정된 원격에서 끌어 remote의 관련 지점 섹션에서 옵션 .git/config하면서,
  • git push에서 지정한 리모컨으로 푸시합니다 remote.pushDefault.

URL이 아닌 원격 이름 을 지정해야합니다 . remote.<name>.pushurl예를 들어 두 리모컨 모두에 대한 추적 분기가 계속 있기 때문에이 솔루션은를 포함하는 솔루션보다 더 유연합니다 . 이러한 유연성이 필요하거나 원하는지는 귀하에게 달려 있습니다.

릴리스 노트에는 이 옵션이 특히 삼각형 워크 플로를 지원하기 위해 추가되었다고 나와 있습니다.


git config man page 에서 수집 할 수있는 내용에서 업스트림 저장소는 다음과 같습니다.

  • 기본적으로 원산지
  • 설정 branch.remote
  • 항상 git pull/fetchgit pull

주어진 분기 에 대해 기본적으로 두 개의 별도 원격을 가질 수있는 방법이 없습니다 .


user392887의 대답 은 대부분 정확하지만 다음과 같습니다.

  1. SSH를 사용하는 것이 좋습니다. GitHub에 따르면 "GitHub와 상호 작용할 때 SSH 연결을 사용하는 것이 좋습니다. SSH 키는 암호를 사용하지 않고 신뢰할 수있는 컴퓨터를 식별하는 방법입니다."

  2. RHEL / CentOS 6을 사용하는 모든 사용자는 기본적으로 set-url.

따라서 git 1.7.1에 대해 선호되는 솔루션입니다. 그리고 나중에 :

git remote set-url --push origin git@github.com:username/somerepo.git

참고 URL : https://stackoverflow.com/questions/2916845/different-default-remote-tracking-branch-for-git-pull-and-git-push

반응형