Я работаю над проектом, основанным на CakePHP , который размещен на GitHub . Мой проект размещен на Bitbucket . Они оба используют git . По сути, я хотел бы создать «форк» (я не знаю, правильно ли я использую термины, поскольку я новичок в git ) CakePHP в моем хранилище Bitbucket, чтобы иметь возможность получать обновления без необходимости загружать все CakePHP zip / tar и заменять папку, затем фиксировать и пушить, но, возможно, с «слиянием» (?).
161
Ответы:
Сегодня невозможно отправить «запрос извлечения» на разные сайты. Я добавил запрос функции для этого в трекере проблем Bitbucket: # 3288 . Я предлагаю вам добавить себя в качестве последователя, если вы хотите отслеживать это.
Тем не менее, вы все равно можете переместить исходный код из GitHub в Bitbucket без необходимости загружать zip-файлы или архивы. Вы делаете клон из GitHub и отправляете в Bitbucket:
mg/cakephp
Сначала я создал пустой Bitit-репозиторий в Bitbucket. Таким образом, вы можете перемещать / извлекать наборы изменений из GitHub в Bitbucket.источник
cd cakephp
между двумя командами. Да, конечно, для новичков, но новички могут задаться вопросом, почему это не работает.fork
. Ветви и теги НЕ копируются в BitBucket.Приведенный ниже рабочий процесс добавляет репозиторий github в качестве нового удаленного вызываемого
sync
и битбакетного удаленного какorigin
. Он также добавляет ветку,github
котораяmaster
вызывается для отслеживания хранилища GitHub, и ветку, которая вызывается для отслеживания хранилища Bitbucket. Предполагается, что у вас есть хранилище bitbucket под названием «myrepository», которое пусто.Настройка пультов
Настройка веток
Теперь у вас должна быть локальная
github
ветка, отслеживающая ветку репозитория githubmaster
. И у вас должна быть локальнаяmaster
ветка, отслеживающая репозиторий bitbucket (master
ветка по умолчанию).Это позволяет легко выполнить
github
ветвление, затем объединить эти изменения сmaster
веткой (хотя перебазировать предпочтительнее слияния), а затем вы можетеmaster
перенести ветку (переместит ее в bitbucket).источник
--set-upstream
устарела ... Но это работает, пока вы создаетеgithub
ветку, прежде чем пытаться установить репозиторий в восходящем потоке.git fetch
иgit branch --track github sync/master
git checkout github
иgit checkout -b master
после команды git branch. Вы получите следующие ветки (git branch -a
): github, master, remotes / origin / master, remotes / sync / masterЕсли вы хотите поддерживать репо в актуальном состоянии, используйте два пульта: Github (
upstream
) и Bitbucket (origin
), например:Чтобы получить обновления для CakePHP из Github:
Чтобы отправить изменения кода в Bitbucket:
источник
git
команде, верно? Это путь ...git push --all --mirror origin
. Ответ обновлен.fatal: --all and --mirror are incompatible
Также:git pull upstream master
выдает фатальную ошибку.fatal: Couldn't find remote ref master
При создании нового хранилища в BitBucket, нажмите кнопку
Import repository
в правом верхнем углу. Введите URL https, найденный при нажатииClone or download
на Github для хранилища, которое вы хотите разветвить.Дайте вашему хранилищу имя, настройте параметры конфиденциальности, и все!
источник
Я предполагаю, что вы просто хотите легко загрузить репозиторий вместе с вашим проектом ... и что вы НЕ будете вносить свой вклад в cakePHP, верно?
если это так, вам просто нужно добавить внешнюю ссылку на ваш репо.
SVN: внешний эквивалент в GIT?
И позже, даже если вы хотите внести свой вклад в cakePHP, вы можете просто сделать это в оригинальном репо.
источник
Я заметил, что после ответа @Martin Geisler Bitbucket включил функцию импорта репозиториев с github.com.
Мне удалось успешно импортировать частное репо с github.com в частное репо на bitbucket.org
Вот шаги :
Обратите внимание на ссылку на репозиторий импорта в правом верхнем углу экрана.
источник