한 프로젝트에서 Bitbucket과 GitHub를 동시에 사용하는 방법은 무엇입니까?


94

Bitbucket 및 GitHub에 푸시하려는 저장소가 하나 있습니다. 내 저장소가 둘 다에 의해 호스팅되는 것이 중요합니다.

Git에서이 작업을 수행하는 방법이 있습니까?


4
이것은 매우 유용 해 보입니다. 특히 하나의 저장소가 다운되었을 때. 현재 bitbucket이 다운되어 기본적으로 내 작업을 수행 할 수 없습니다.
imranal

답변:


117

git과 함께 여러 원격 저장소를 사용할 수 있습니다. 하지만 내가 믿는 리모컨 2 개에 별도로 밀어 넣어야합니다.

예를 들어 프로젝트가 현재 github를 가리키는 경우 현재 원격 저장소의 이름을 다음과 같이 바꿀 수 있습니다 github.

$ git remote rename origin github

그런 다음 다른 원격 저장소를 추가 할 수 있습니다 bitbucket.

$ git remote add bitbucket git@bitbucket.org:your_user/your_repo.git

이제 github 또는 bitbucket의 해당 분기에 변경 사항을 푸시하려면 다음을 수행 할 수 있습니다.

$ git push github HEAD
$ git push bitbucket HEAD

풀링에도 동일한 규칙이 적용됩니다. 풀링 할 리모컨을 지정해야합니다.

$ git pull github your_branch
$ git pull bitbucket your_branch

9
향후 방문하는 사람들을 위해 .ssh/config파일이이 설정을 달성하는 열쇠입니다. 사용할 항목 을 식별하려면 a Host github.com와 a Host bitbucket.org를 추가하십시오 IdentityFile. 그러면 bitbucket과 github간에 앞뒤로 스왑을 시도하는 동안 권한 거부 오류가 발생하지 않습니다. 이것이 누군가를 돕기를 바랍니다.
Ultimater

31

예, 할 수 있습니다. 두 번 푸시 할 필요는 없지만 두 원격 리포지토리에 푸시하려면 한 번만하면됩니다. 나는 전에 같은 문제가 있었기 때문에 여기에 그것을하는 방법을 썼습니다. Git : Github 및 Bitbucket 모두에서 푸시 / 풀


2
좋은 소식! 가능하다면 여기에 여름철을 포함하는 것이 좋습니다.
OneHoopyFrood

28

몇 가지 EASY 솔루션.

독립적으로 푸시 (및 가져 오기) 된 여러 리모컨

이것은 머리를 돌리는 것이 가장 쉽지만 유지하는 데 가장 많은 노력을 기울입니다.

새 리모컨을 추가하여 시작합니다.

$ cd myproject 
$ git remote add bitbucket ssh://git@bitbucket.org/user/myproject.git 
$ git push bitbucket master

똑바로 아니? 물론 변경 사항을 커밋 할 때마다 원본 "원본"과 새로운 원격 "bitbucket"을 모두 푸시해야합니다.

$ git push origin master
$ git push bitbucket master

엄청난 오버 헤드는 아니지만 시간이 지남에 따라 갈릴 것이라고 확신합니다. 또는`alias gpob = "git push origin master && git push bitbucket master"를 만들 수 있습니다.

여러 URL을 연속적으로 푸시 (및 가져 오기)하는 단일 원격

이 방법을 사용하여 기존 원격 "원본"에 URL을 추가 할 것입니다.

$ cd myproject
$ git remote set-url --add origin ssh://git@bitbucket.org/user/myproject.git
$ git push origin master
Everything up-to-date
Everything up-to-date

훨씬 적은 노력!

물론 은색 라이닝에는 클라우드가 있습니다.이 경우에는 여러 URL을 동시에 푸시 할 수 있지만 원래 "원본"에서만 가져올 수 있습니다 (변경할 수 있지만이 게시물에서는 범위를 벗어납니다). ).

마지막으로, 어떤 리모컨을 가져올 지 확인하려면 :

$ git remote -v show

나도 블로그에 올렸다 .

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