Як використовувати Bitbucket та GitHub одночасно для одного проекту?


94

У мене є одне сховище, яке я хочу вставити в Bitbucket та GitHub. Для мого сховища життєво важливим є розміщення обох.

Чи є спосіб зробити це в Git?


4
Це видається дуже корисним. Особливо, коли одне сховище не працює. На даний момент bitbucket не працює, і я в основному не можу виконувати свою роботу.
імранал

Відповіді:


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

Кілька ЛЕГКИХ рішень.

Кілька пультів дистанційного керування (і отримані) незалежно

Це найпростіше розвести голову, але найбільше зусиль підтримувати.

Ми починаємо з додавання нашого нового пульта дистанційного керування:

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

Прямо вперед ні? За винятком звичайно кожного разу, коли ми вносимо будь-які зміни, нам потрібно натиснути як на своє початкове “походження”, так і на наш новий віддалений “бітбетк”:

$ git push origin master
$ git push bitbucket master

Це не значні накладні витрати, але я впевнений, що з часом це натертиметься. Або ви можете створити `псевдонім gpob =" git push master 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

Я також писав про це в блогах .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.