忘れずにメモ。

フォークした後、フォーク元に対する変更はどうなるの?

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
2
git fetch <name>
git merge <name>/master

で大丈夫なはず。

Conclusion

gitが便利なのはわかるんですが、概念がかなり複雑なんですよね。TortoiseGitのおかげである程度複雑さはカバーされていますが。
別のGUIクライアントを使います?え、Source Tree?知らないなぁ。