CakePHPに基づくプロジェクトに取り組んでいます。これはGitHubでホストされています。 私のプロジェクトはBitbucketでホストされています。両方ともgitを使用します。基本的に、CakePHPのgitが初めてなので、「フォーク」(正しい用語を使用しているかどうかわかりません)を作成したいと思います。 Bitbucketリポジトリ。CakePHPのすべてのZip/tarをダウンロードしてフォルダを置き換え、その後コミットしてプッシュする必要なく更新を取得できるようにするために、「マージ」(?)を使用する場合があります。
現在、異なるサイト間で「プルリクエスト」を送信することはできません。 Bitbucket issue trackerにこのための機能リクエストを追加しました: #3288 。これを追跡する場合は、自分をフォロワーとして追加することをお勧めします。
ただし、Zipファイルやtarballをダウンロードしなくても、GitHubからBitbucketにソースを移動できます。 GitHubからクローンを作成し、Bitbucketにプッシュします。
$ git clone https://github.com/cakephp/cakephp
$ cd cakephp
$ git Push [email protected]:mg/cakephp.git master
最初にmg/cakephp
をBitbucketの空のGitリポジトリとして作成しました。これにより、チェンジセットをGitHubからBitbucketにプッシュ/プルできます。
以下のワークフローでは、githubリポジトリをsync
という新しいリモートとして追加し、bitbucketリモートをOrigin
として追加します。また、githubリポジトリを追跡するgithub
というブランチと、bitbucketリポジトリを追跡するmaster
というブランチを追加します。空の「myrepository」と呼ばれるbitbucketリポジトリがあることを前提としています。
# 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
ブランチにマージし(マージよりもリベースを優先)、master
ブランチをプッシュできます(ウィルbitbucketにプッシュします)。
リポジトリを最新に保ちたい場合は、次のようにGithub(upstream
)とBitbucket(Origin
)の2つのリモートを使用します。
# 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
]ボタンをクリックします。フォークするリポジトリのGithubでClone or download
をクリックしたときに見つかったhttps URLを入力します。
リポジトリに名前を付けて、プライバシー設定を構成します。
私はあなたがあなたのプロジェクトでリポジトリを簡単にダウンロードしたいだけだと推測しています...そしてあなたは正しいcakePHPに貢献しないでしょうか?
その場合、外部参照をリポジトリに追加するだけです。
後で、cakePHPに貢献したい場合でも、元のリポジトリで問題なく貢献できます。