로컬 Git 브랜치를 원격 저장소에 복사하는 방법
지금까지 다음 단계를 수행했습니다.
- 원격 Git 저장소를 복제했습니다
- 마스터 브랜치를 실험으로 분기
- 실험 브랜치에서 편집 / 테스트 / 커밋 된 코드
이제 실험을 마스터로 병합 할 준비가되지 않았습니다. 그러나 나는 그것이 일부 동료들과 공유하는 저장소이므로 원격 저장소로 다시 밀어 넣고 싶습니다. 실험 브랜치에서 내가 한 일을보고 싶습니다. 나는 일반적으로 SSH를 통해 원격 저장소에 액세스합니다.
원격 저장소의 마스터 분기에 영향을주지 않고 원격 저장소에서 로컬 지점을 공유하려면 어떻게합니까?
자식 푸시 매뉴얼 페이지 에 따르면 :
git push origin experimental
experimental
소스 리포지토리에서 일치하는 참조를 찾은 다음 (대부분은 찾을 것임 ) 원래 리포지토리에서 refs/heads/experimental
동일한 참조 (예 :)를 업데이트 refs/heads/experimental
합니다.
경우 experimental
원격으로 존재하지 않았다가 작성 될 것이다 .
이것은 다음과 같습니다.
git push origin experimental:refs/heads/experimental
experimental
현재 experimental
분기 를 복사하여 오리진 저장소에 분기 를 작성하십시오 .
이 양식은 로컬 이름과 원격 이름이 다른 경우 원격 저장소에 새 분기 또는 태그를 작성하는 데만 필요합니다 . 그렇지 않으면 심판 이름 자체가 작동합니다.
또는 git tip 에서 언급했듯이 "지점의 기본 원격"을 설정할 수 있습니다.
git config를 사용하여 지정된 브랜치에 기본 원격을 할당 할 수 있습니다. 이 기본 리모콘은 달리 지정하지 않는 한 해당 분기를 푸시하는 데 사용됩니다.
이것은 git clone을 사용할 때 이미 수행되었으므로 인수없이 git push를 사용하여 로컬 마스터 분기를 푸시하여 원본 저장소의 마스터 분기를 업데이트 할 수 있습니다.
git config branch.<name>.remote <remote>
이를 수동으로 지정하는 데 사용할 수 있습니다.
Jan 은 ( git> = 1.7.0 ) push -u
(또는 push --set-upstream
) 옵션을 제안합니다 .
최신이거나 성공적으로 푸시 된 모든 브랜치에 대해 인수가없는 git-pull (1) 및 기타 명령에서 사용하는 업스트림 (추적) 참조를 추가하십시오.
그렇게하면 git config를 수행 할 필요가 없습니다.
git push -u origin experimental
지사의 이름 인 경우 experimental
, 원격의 이름입니다 origin
, 그것은이다
git push origin experimental
git push -u <remote-name> <branch-name>
새로 만든 브랜치가 동일한 리포지토리에서 스폰되지 않으면 작동하지 않습니다. 예를 들어을 사용하여 새 브랜치를 만들지 않은 경우 git checkout -b new_branch
에는 작동하지 않습니다.
예를 들어, 두 개의 서로 다른 리포지토리를 로컬로 복제했으며 repo2 / branch1을 repo1 /에 복사 한 다음 푸시해야했습니다.
이 링크를 통해 로컬 리포지토리 (다른 리포지토리에서 복제)를 원격 리포지토리로 푸시 할 수있었습니다.
다음은 GitHub의 원격 관리를위한 신뢰할 수있는 GitHub의 페이지입니다 http://github.com/guides/push-a-branch-to-github은 . 모든 질문에 답하는 데 도움이됩니다.
tl; dr
$ git push --set-upstream origin your_new_branch
더 많은 정보
당신이 당신의 커밋을 거의하지 않은 후에 :
$ git checkout -b your_new_branch
$ git add file
$ git commit -m "changed file"
업스트림을 지정하여 분기를 다음과 같이 원격 저장소 중 하나로 푸시합니다.
$ git push --set-upstream REMOTE YOUR_BRANCH
리모컨으로 볼 수 있습니다
$ git remote -v
일반적으로 단일 기본 remote가 origin
있습니다. 따라서 명령은 다음과 같습니다.
$ git push --set-upstream origin your_new_branch
모든 결과적인 푸시는로만 가능합니다 git push
.
참고 URL : https://stackoverflow.com/questions/805222/how-to-copy-a-local-git-branch-to-a-remote-repo
'programing tip' 카테고리의 다른 글
동일한 인터페이스를 구현하는 두 개의 bean을 자동 배선-기본 bean을 autowire로 설정하는 방법은 무엇입니까? (0) | 2020.07.05 |
---|---|
배치 파일에서 if-else 구조를 사용하는 방법은 무엇입니까? (0) | 2020.07.05 |
Git Clone : 파일 만주세요. (0) | 2020.07.05 |
UNIX에서 벽시계 시간, 사용자 CPU 시간 및 시스템 CPU 시간은 구체적으로 무엇입니까? (0) | 2020.07.05 |
에스컬레이션 잠금-여기서 무슨 일이 일어나고 있습니까? (0) | 2020.07.05 |