자식 원격 원점 설정


180

다음과 같은 repos가 있습니다.

  1. DEV REPO : 개발 시스템의 디렉토리에서 변경합니다.
  2. MAIN REPO : 개발 리포지토리에서 변경 사항을 푸시하는 개발 시스템의 베어 리포지토리
  3. PRODUCTION REPO : 기본 리포지토리에서 업데이트를 가져 오는 호스트 시스템의 저장소

내가 사용 git remote add origin /Users/me/sites/main_repo데브의 repo에 대한 원점으로 메인 REPO를 설정할 수 있습니다. PRODUCTION 저장소는 원격 호스트에 있습니다. 동일한 명령의 변형을 사용하여 MAINION 리포지토리를 PRODUCTION 리포지토리의 오리진으로 설정할 수 있습니까? "예"이면 구문에 IP 주소가 포함되어 있다고 가정합니다. 어떤 모습일까요?


"PRODUCTION 리포지토리를 MAIN 리포지토리의 원본으로 설정"한다는 의미가 아닙니까?
Pedro A

답변:


289

SSH 사용

git remote add origin ssh://login@IP/path/to/repository

HTTP 사용

git remote add origin http://IP/path/to/repository

그러나 간단한 git pull배포 프로세스를 갖는 것은 좋지 않은 아이디어 이므로 실제 배포 스크립트를 선호하지 않아야합니다.


6
왜 정말 나쁜 생각입니까? 배포 스크립트 예제를 지금 검색하십시오.
Jay

14
배포는 단순히 git pull수행하는 것 이상의 의미를 갖습니다 ( "항상"을 읽음) . 프로덕션 DB 자격 증명을 설정하고, 캐시를 지우고, 버전 번호를 늘리고, 이전 버전을 백업하여 문제가 발생하는 경우 롤백하고 자산 (예 : CSS 및 Js) 및 기타 항목을 최적화 / 최소화해야 할 수 있습니다. 소지품.
Clement Herreman

33
@ClementHerreman-설명에 따르면 git pull을 사용하는 것은 제한된 해결책이므로 그렇게 나쁜 아이디어는 아닙니다. 때로는 간단한 시나리오가있을 때 git pull이 완벽하고 효과적이고 간단한 배포 솔루션이라는 것을 알 수 있습니다.
Brady Holt

4
ssh 방법으로 ssh : //를 지정해야한다고 생각합니다. 즉, git remote add origin ssh : // login @ IP / path / to / repository
kakyo

4
우리가 최종 진술을 "때로는 나쁜 생각"으로 수정했다면 대담한 대답이 아니라고 생각합니다.
Chris Moschini

104

여기에 온 사람은 원산지를 다른 위치 로 변경 하는 구문을 찾고 여기에서 해당 문서를 찾을 수 있습니다 : https://help.github.com/articles/changing-a-remote-s-url/ . 이를 사용하면 git remote add"치명적 : 원격 원점이 이미 존재합니다."

간단히 말해서 : git remote set-url origin https://github.com/username/repo

(표시된 답변은 정확합니다. 저는 잃어버린 사람을 돕고 싶습니다. 하하)


2
이 답변은 이미 존재하는 경우 "git remote url"을 변경하려는 사람들에게 더 좋습니다. 감사합니다 @lostphilosopher
eonist

17

리모컨을 설정할 때 추적 할 분기를 포함시켜 예상대로 작동하게 할 수 있습니다.

git remote add --track master origin user@somesite.com:group/project.git   # git
git remote add --track master origin user@172.16.1.100:group/project.git   # git w/IP
git remote add --track master origin http://github.com/group/project.git   # http
git remote add --track master origin http://172.16.1.100/group/project.git # http w/IP
git remote add --track master origin /Volumes/Git/group/project/           # local
git remote add --track master origin G:/group/project/                     # local, Win

이를 통해 git 구성을 수동으로 편집하거나 분기 추적을 수동으로 지정하지 않아도됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.