서로 다른 리모컨이 있습니다. push
구성; 예 :설정이 다른 여러 자식 저장소에 푸시하는 방법은 무엇입니까?
[remote "public"]
url = ssh://external-server/repo
push = refs/heads/master:refs/heads/master
[remote "internal"]
url = ssh://internal-server/repo
push = refs/heads/*:refs/heads/*
레이어를 추가로 발명하지 않고도 단일 명령으로 두 저장소에 모두 푸시 할 수 있습니까?
관련 질문에서 제안한대로 pushUrl
을 시도했지만이 경우 URL이 필요하고 리모컨을 허용하지 않습니다. 그럼,에
[remote "all"]
pushUrl = "ext::git push public"
pushUrl = "ext::git push internal"
같은 git-remote-ext
를 사용하도록 수정하지만이 첫 번째 저장소에 밀어 때문에 현실에서
fatal: Could not read from remote repository.
수동 쉘 명령 (git push public && git push internal
)입니다하지 않는 솔루션에 실패 I 원격 저장소 (예 : 고객, 공공 저장소, 내부/외부 미러, 테스트 시스템, 읽기 전용 소스가 호스팅하는 자식 서버)가 많은 저장소가 있습니다. 때때로 그들은 내가 (물건을 밀어 git push
사용) 별명이 작동하지만 너무 어색하고 어떻게 든 일반적인 워크 플로우를 중단 할 수 정의
git submodule foreach 'git push all'
같은 방법으로 밀어 원하는 서브 모듈에 있습니다.
가 어떻게 여기에 다른'push'의 설정을 지정합니까? 예 : 나는 내부 서버의 모든 브랜치를 원하지만 외부의 마스터는 오직 마스터 만 원한다. – ensc
@ensc 확실하지 않습니다. push.policy (편집 된 답변)와 함께 갈 것이지만, 당신은 그것을 테스트하고 어떤 브랜치가 푸시되는지를 알아야한다. (실제 내부 및 외부 리모트가 아니라 더미 리모트를 사용한다.) – VonC
hacky. ...'-next' 브랜치를 내부 저장소 ('push = + refs/heads/next : refs/heads/next'')에 강제로 밀어 넣는 것을 어떻게 표현하겠습니까? – ensc