217
184

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

fork元のリポジトリへの変更をforkしたリポジトリに反映する

Last updated at Posted at 2015-01-30

20190429追記
わかりにくい表現を修正しました。
内容の変更はしていません。
追記ここまで

forkしたリポジトリのブランチを、fork元のリポジトリのブランチに追従させる、ということをGitコマンドで実行します。
このコマンドをJenkins等で実行することもできます。

※ここではGit初心者に役立つ「よく使うコマンド集」②で紹介したコマンドを使用しています。

0.今回の環境

fork元のリポジトリ名:fork_master
追従したいブランチ:develop
forkしたリポジトリのリモートリポジトリ名:origin

1.fork元のリポジトリがリモートリポジトリとして存在しなければ、リモートリポジトリとして追加する

1.リモートリポジトリの一覧を表示して確認します。

$ git remote

origin    # forkしたリポジトリのみリモートリポジトリとして登録済み

2.fork元のリポジトリを「fork_master」という名前で追加します。

$ git remote add fork_master <url> 

3.追加されていることを確認します。

$ git remote

origin
fork_master  

2.fetch

1.fork元のリポジトリをfetchします。

$ git fetch fork_master  

3.fork元のリポジトリの追従したいブランチのローカルブランチを作成する

1.「fork_master_develop」という名前でローカルブランチを作成します。

$ git checkout -b fork_master_develop fork_master/develop

2.ブランチの一覧を表示して確かめてみます。

$ git branch -a

* fork_master_develop
...
...
...

4.追従するブランチを最新化

1.forkしたリポジトリのブランチ(fork元の変更を取り込みたいブランチ)を最新化しておきます。

$ git checkout develop
$ git pull origin develop

5.マージ

1.forkしたリポジトリのブランチにfork元のリポジトリのブランチをマージします。

$ git branch
* develop
...
...

$ git merge --no-ff fork_master_develop

6.push

1.forkしたリポジトリのブランチをpushします。

$ git push origin develop

以上です。
ちなみに3の手順はなくてもできます。
ローカルにリポジトリを作成せずに、リモートブランチを追従したいブランチに直接マージすればよいです。

217
184
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
217
184

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?