CakePHP 기반 프로젝트에서 일하고 있는데 GitHub 에서 호스팅됩니다 . 내 프로젝트 는 Bitbucket 에서 호스팅되고 있습니다. 둘 다 git을 사용 합니다. 기본적으로 업데이트를 얻을 수 있도록 Bitbucket 리포지토리에 CakePHP 의 ‘포크'( git을 처음 사용하기 때문에 올바른 용어를 사용하고 있는지 모르겠습니다)를 만들고 싶습니다. 모든 CakePHP zip / tar를 다운로드하고 폴더를 교체 할 필요없이 커밋하고 푸시하지만 ‘병합'(?)
답변
오늘은 다른 사이트에서 “풀 요청”을 보낼 수 없습니다. Bitbucket 이슈 트래커에 # 3288 기능 요청을 추가했습니다 . 이것을 추적하려면 자신을 추종자로 추가하는 것이 좋습니다.
그러나 zip 파일이나 tarball을 다운로드하지 않고도 소스를 GitHub에서 Bitbucket으로 옮길 수 있습니다. GitHub에서 복제하여 Bitbucket으로 푸시합니다.
$ git clone https://github.com/cakephp/cakephp
$ cd cakephp
$ git push git@bitbucket.org:mg/cakephp.git master
내가 만든 mg/cakephp
최초의 Bitbucket에 빈 Git 저장소로. 그렇게하면 변경 세트를 GitHub에서 Bitbucket으로 푸시 / 풀할 수 있습니다.
답변
아래의 워크 플로는 github 리포지토리를 새로운 원격이라고 sync
하고 bitbucket 원격을로 추가 origin
합니다. 또한 github
github 리포지토리 master
를 추적하기 위해 호출되는 분기와 비트 버킷 리포지토리를 추적하기 위해 호출되는 분기를 추가 합니다. 비어있는 “myrepository”라는 비트 버킷 저장소가 있다고 가정합니다.
리모컨 설정
# setup local repo
mkdir myrepository
cd myrepository
git init
# add bitbucket remote as "origin"
git remote add origin ssh://git@bitbucket.org/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 repo의 master
브랜치를 추적 해야합니다 . 그리고 로컬 master
브랜치가 비트 버킷 저장소 ( master
기본적으로 브랜치)를 추적 해야합니다 .
이렇게하면 github
브랜치를 쉽게 가져온 다음 변경 사항을 master
브랜치에 병합하고 (병합보다 우선 적용) master
브랜치를 푸시 (비트 버킷으로 푸시) 할 수 있습니다 .
답변
리포지를 최신 상태로 유지하려면 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
Github에서 CakePHP 업데이트를 가져 오려면 :
git pull upstream master
코드 변경 사항을 Bitbucket으로 푸시하려면
git push origin master
답변
BitBucket에서 새 리포지토리를 생성 할 때 Import repository
오른쪽 상단 의 버튼 을 클릭하십시오 . Clone or download
포크하려는 리포지토리의 Github을 클릭 할 때 찾은 https URL을 입력하십시오 .
리포지토리에 이름을 지정하고 개인 정보 설정을 구성하면됩니다.
답변
프로젝트와 함께 리포지토리를 쉽게 다운로드하고 싶을 것 같고 cakePHP에 기여하지 않을 것입니다. 맞습니까?
그렇다면 리포지토리에 외부 참조를 추가하기 만하면됩니다.
나중에 cakePHP에 기여하고 싶더라도 원본 리포지토리에서 잘 수행 할 수 있습니다.
답변
@Martin Geisler의 답변 이후 Bitbucket은 github.com에서 리포지토리를 가져 오는 기능을 활성화했습니다.
나는 성공적으로 bitbucket.org에 개인의 repo에 github.com에서 개인의 repo를 가져올 수 있었다
단계 는 다음 과 같습니다.
- 작성 단추를 클릭하고 저장소 ( ‘+’> 저장소)를 선택하십시오.
- 이제 새 저장소를 작성하는 대신 나타나는 모달의 오른쪽 상단에서 가져 오기 저장소를 선택하십시오.
- 리포지토리를 가져 오기 위해 github repo의 URL과 인증 자격 증명을 새 모달에 입력하십시오.
- 그게 다야. 모든 것이 github에서 비트 버킷으로 부드럽게 가져옵니다.