Разветвление от GitHub до Bitbucket
Я работаю над проектом на основе CakePHP,, расположенной на GitHub. мой проект расположен на Bitbucket. Оба они используют git. В основном я хотел бы создать "вилку" (я не знаю, если я использую правильные термины, так как я новичок в git) CakePHP в моем репозитории Bitbucket, чтобы иметь возможность получать обновления без необходимости загружать все CakePHP zip / tar и заменять папка, затем зафиксируйте и нажмите, но, возможно, с помощью "слияния" (?).
спасибо!
5 ответов:
сегодня невозможно отправить "запрос на вытягивание" на разных сайтах. Я добавил запрос функции для этого в Bitbucket issue tracker:#3288. Я предлагаю вам добавить себя в качестве последователя, если вы хотите отслеживать это.
тем не менее, вы все равно можете переместить источник из GitHub в Bitbucket без необходимости загружать zip-файлы или тарболы. Вы делаете клон из GitHub и нажимаете на Bitbucket:
$ git clone https://github.com/cakephp/cakephp $ cd cakephp $ git push [email protected]:mg/cakephp.git masterЯ создал
mg/cakephpкак пустой Git сначала репозиторий в Bitbucket. Таким образом, вы можете нажать/вытащить наборы изменений из GitHub в Bitbucket.
рабочий процесс ниже добавляет репозиторий github в качестве нового удаленного объекта с именем
syncи Bitbucket remote какorigin. Он также добавляет ветку под названиемgithubдля отслеживания репозитория github и ветки под названиемmasterдля отслеживания репозитория bitbucket. Предполагается, что у вас есть репозиторий bitbucket под названием "myrepository", который пуст.пульты настройка
# setup local repo mkdir myrepository cd myrepository git init # add bitbucket remote as "origin" git remote add origin ssh://[email protected]/aleemb/myrepository.git # add github remote as "sync" git remote add sync https://github.com/aleemb/laravel.git # verify remotes git remote -v # should show fetch/push for "origin" and "sync" remotesфилиалы установки
# first pull from github using the "sync" remote git pull sync # setup local "github" branch to track "sync" remote's "master" branch git branch --track github sync/master # switch to the new branch git checkout github # create new master branched out of github branch git checkout -b master # push local "master" branch to "origin" remote (bitbucket) git push -u origin masterтеперь у вас должен быть местный
githubветку отслеживание репозитория githubmasterфилиала. И вы должны иметь местныйmasterфилиал отслеживает РЕПО bitbucket (masterфилиала по умолчанию).это позволяет легко сделать тянуть на
githubветвь, а затем объединить эти изменения наmasterbranch (rebase предпочтительнее слияния, хотя), а затем вы можете нажатьmasterветка (подтолкнет его к bitbucket).
если вы хотите сохранить свое РЕПО в актуальном состоянии, используйте два пульта дистанционного управления: Github (
upstream) и Bitbucket (origin) такой:# Clone original CakePHP source code from Github git clone --mirror https://github.com/cakephp/cakephp cd cakephp # Rename remote from `origin` to `upstream` git remote rename origin upstream # Add your Bitbucket repo (this is where your code will be pushed) git remote add origin https://bitbucket/your/repo.git # Push everything to Bitbucket git push --mirror originчтобы вытащить обновления для CakePHP из Github:
git pull upstream masterчтобы переместить изменения кода в Bitbucket:
git push origin master
при создании нового репозитория в BitBucket нажмите кнопку
Import repositoryв правом верхнем углу. Введите URL https, найденный при нажатииClone or downloadв Github для репозитория, который вы хотите разветвить.дайте вашему репозиторию имя, настройте параметры конфиденциальности,и вот вам!
Я предполагаю, что вы просто хотите легко загрузить репозиторий с вашим проектом... и что вы не будете вносить лепешку, правильно?
Если это так, вам просто нужно добавить внешнюю ссылку на ваше РЕПО.
SVN: внешний эквивалент в GIT?
и позже, даже если вы хотите внести свой вклад в cakePHP, вы можете просто сделать это в исходном РЕПО просто отлично.
Comments