サードパーティのコードを追跡するためのリポジトリを作成し、パッチを別のブランチに配置します。最新のリリースが必要な場合は、変更をフェッチしてブランチをリベースします。
例えば:
$ git clone --origin github https://github.com/tinymce/tinymce.git
$ cd tinymce/
$ git remote add origin git@myrepo.example.org:tinymce
次に、パッチを作成してリポジトリにプッシュします。
$ git commit -m "my patches to tinymce"
$ git push --set-upstream origin master
この時点で、リポジトリは次のようになります。
(0) --- (1) --- ... (n) --- (X)
|
master
Xはパッチです。
次に、 githubリモートから新しいリビジョンをフェッチするためのブランチを設定します。
$ git branch tinymce_import github/master
$ git checkout tinymce_import
$ git pull --ff-only
したがって、リポジトリは次のようになります(githubリモートgit branch
の最後のリビジョンをオリジンとして使用するのに十分スマートです):
master
|
+----- (X)
|
(0) --- (1) --- ... (n) --- (n+1) --- ... (n+m)
|
tinymce_import
最後に、マスターブランチをtinymce_importにリベースします。
$ git checkout master
$ git rebase tinymce_import
master
|
+----- (X)
|
(0) --- (1) --- ... (n) --- (n+1) --- ... (n+m)
|
tinymce_import