Разветвление от GitHub до Bitbucket



Я работаю над проектом на основе CakePHP,, расположенной на GitHub. мой проект расположен на Bitbucket. Оба они используют git. В основном я хотел бы создать "вилку" (я не знаю, если я использую правильные термины, так как я новичок в git) CakePHP в моем репозитории Bitbucket, чтобы иметь возможность получать обновления без необходимости загружать все CakePHP zip / tar и заменять папка, затем зафиксируйте и нажмите, но, возможно, с помощью "слияния" (?).



спасибо!

767   5  

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 ветку отслеживание репозитория github master филиала. И вы должны иметь местный master филиал отслеживает РЕПО bitbucket (master филиала по умолчанию).

это позволяет легко сделать тянуть на github ветвь, а затем объединить эти изменения на master branch (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

    Ничего не найдено.