忘れずにメモ。
フォークした後、フォーク元に対する変更はどうなるの?
Subversion的には、ブランチを切ってしまうと、そのブランチに対するリビジョンをマージするという形でローカルに反映します。
gitで、これをやる場合、少し面倒。というかTortoiseGitで対応していないのかしら?
まず、フォークしたリポジトリに対するローカルリポジトリのあるフォルダ (.gitというフォルダがある場所) に移動。
コマンドプロンプトから下記のコマンドを叩きます。
1 | git remote add <name> |
nameは何でもいいです。
例えば、Microsoft/Caffeをフォーク先のリポジトリPrivate/Caffeに対して、フォーク元 (つまり Microsoft/Caffe) に対する変更を追跡させたいなら
1 | git remote add upstream https://github.com/Microsoft/caffe.git |
となる。
ようするに、これにより、ローカルのリポジトリはフォーク先リモートリポジトリ (Private/Caffe) とのみ関係があった状態に対して、新しくフォーク元のリポジトリをリモートブランチとして追加したわけです。
で、フォーク元のリポジトリに対する変更をプルする場合は、
1 | git fetch <name> |
で大丈夫なはず。
Conclusion
gitが便利なのはわかるんですが、概念がかなり複雑なんですよね。TortoiseGitのおかげである程度複雑さはカバーされていますが。
別のGUIクライアントを使います?え、Source Tree?知らないなぁ。