2017-10-05 10 views
0

프로젝트 당 원격 저장소가 두 개 있습니다. 하나는 로컬 NAS에 있고 다른 하나는 GitHub에 있습니다. 물리적으로 다른 두 위치에 프로젝트를 저장하는 것이 더 안전하다고 느낍니다. Visual Studio 내에서 푸시하는 한 매우 잘 작동합니다.힘내 : 두 개의 원격 저장소에 대한 새 분기 만들기

원격 저장소를 두 개 만들고 로컬 변경 사항을 커밋 한 다음 각 원격 리포지토리에 밀어 넣으면됩니다.

하지만 어떻게 다른 방식으로 작동합니까? 분기를 만들고, 함께 작업하고, 저장소에 다시 커밋하고 병합 할 수 있어야합니다. 두 원격 저장소 모두에서 동일한 새 분기를 만드는 방법은 무엇입니까?

답변

1

두 원격 리포지토리에서 동일한 새 분기를 어떻게 만듭니 까?

어떤 점에서, 자식은 가지 주변에 무언가가 있습니다. 이름은입니다. 힘이 정말 신경 쓰는 것은 입니다. git push을 실행하면 Git이 인터넷 전화에서 다른 Git을 호출하게됩니다. 귀하의 망할 놈의 손에 그 다른 망할 놈의 새로운 커밋 당신이 가지고, 그들은하지 않습니다. -자신의 힘내 위해서는 이름으로 그 커밋을 기억에서

, 당신의 힘내는 또한 몇 가지 이름 업데이트 그들의 힘내을 제공합니다 : "이 특정 커밋 기억이 지점 이름을 설정하십시오." 여기에 Git의 devil-may-care attitude에 지사 이름에 대한 예외가 있습니다. Git이 git push, 이 이미 존재하는 경우 이름이 이미 존재하면 일 때, Git은 push가 새 이름을 기반으로 이름에 대한 빨리 감기 작업을 "원합니다"

이 아직 존재하지 않으면 이 존재하지 않는다면 Git이 이름을 설정하고 이름이 존재하게됩니다. 그래서 을 만들면 지점을 알기 쉽게 만들 수 있습니다. git push (보통 origin으로 알려진 기본 리모컨으로 처음 푸시하는 경우 -u도 가능) 아직이 이름의 지사가없는받는 망할 놈은 당신이 만들어달라고 부탁하는 이름을 만들 것입니다.

두 개의 다른 "다른 자식"을 반복적으로 누르려면 두 개의 서로 다른 리모컨을 만들려는 것입니다. 이 리모컨 중 하나만 자신의 저장소에있는 지점의 (단일) 업스트림 일 수 있지만 언제든지 git push remote1 branch:branchgit push remote2 branch:branch 수 있습니다. 콜을 한 후 브랜치 이름을 생성하거나 업데이트하는 것은 Git을 수신하는 것이지만, 빨리 감기 작업이 아니기 때문에 업데이트를 거부 할 수 있습니다.

만약 다른 자식이 푸시를 거절하면 강제 플래그를 설정하고 다시 시도하십시오 : "branch 브랜치를 커밋하도록 1234567..."으로 정하십시오. 앞. 그들은 여전히 ​​거절 할 수 있지만, 기본적으로 대부분의 리시브 릿지가 복종 할 것입니다. (GitHub에는 이러한 명령을 적용할지 여부를 설정하기위한 웹 페이지 기반의 제어 손잡이가 있습니다 .SAS에서 동일한 유형의 제어를 수행하려면 NAS에 ssh를 입력하고 pre-receiveupdate 후크를 만들고 관리 할 수 ​​있습니다.)

+0

감사합니다. 자세한 답변을 위해 많은! 나는 그것을 제공하고 피드백을 줄 것이다. – Chris