SourceTree で GitHub の Fork レポジトリを追加&同期する方法

More than 5 years have passed since last update.

大きなプロジェクトに参加していると、親・子・孫・親戚レポジトリなど、複雑な環境で、ソースコードの共有を行います。

SourceTree フォーク元や、そのさらなる上の階層フォークや別のフォークとの同期をさせたい場合の設定方法です。(Git 自身に関する初心者向けの解説は「サルにも分かる Git入門」などをまずお読みになるのが最適です。)

(2015年5月20日現在の情報です。)


元記事

http://ja.katzueno.com/2014/05/3092/


レポジトリとの相関関係

今回の例として

【concrete5 CMS 大元マスター】−【concrete5 日本語版マスター】-【自分のレポジトリ】

という3つのレポジトリがあると仮定してます。


1. GitHub にて、親レポジトリ等の「Clone URL」のURLをコピー(覚える)

20140520_SourceTree_GitHub5.jpg

まず、自分のレポジトリを普通に Clone します。そして、大元マスターや日本語版マスターの Clone URLをコピーします。


2. SourceTree の設定

自分のレポジトリを設定したレポジトリを Source Tree で開いて、底のウインドウから「設定 (Settings)」ボタンを押します。

20140520_SourceTree_GitHub2.jpg


3. 追加

そして、「リモート(Remotes)」タブから「追加 (Add)」を押します。

20140520_SourceTree_GitHub3.jpg


4. 名前や Clone URL

「リモート名 (Remote name)」は、自分の好きな名前をつけて構いません。

「URL / path」は、さきほどコピーしたURLを貼り付けます。そして、OKを押します。この動作を、追っていきたいレポジトリの数分繰り返し行います。

20140520_SourceTree_GitHub4.jpg

これで、親レポジトリなどフォーク元のレポジトリも追えるようになります。


親レポジトリの変更を自分のレポジトリに加える手順

GitHub for Mac でいう Sync を SourceTree で行う方法です。別レポジトリの変更を自分のローカルに取り込んで(Pullして)、自分のレポジトリにプッシュ (Push) するという方法を取ります。

まず、「Pull」ボタンを押し、変更を取り込みたい元となるレポジトリとブランチを選択し、「OK」を押して、ローカルコピーに、レポジトリの変更を取り入れます。

20140520_SourceTree_GitHub6.jpg

ローカルコピーに、別レポジトリのコミットを取り込んだら、今度は自分のレポジトリにその修正内容を Push します。「Push」を押して、Push先のレポジトリとブランチを選択し、「OK」を押すと、自分のレポジトリに元レポジトリからの変更を同期させることができます。

20140520_SourceTree_GitHub7.jpg

SourceTree を使って、快適な大規模開発を!

ネタ元:http://stackoverflow.com/questions/13273852/how-do-i-update-my-forked-repo-using-sourcetree