投稿数 585
公開から 2940

GitHubのforkとは?


Categories: git

いきさつ

なんか他のリポジトリからcloneして自分のgithubにコミットしたらfork扱い(?)になっている・・ これはなんだ・・・?

forkとは?

フォークとはリポジトリのコピーです。 フォークすると元のプロジェクトに影響を与えることなく、変更を自由に試すことができます。

最も一般的なパターンとしては変更を提案するため、 またはあなた自身のアイデアの出発点として他のだれかのプロジェクトのある時点として使用されます。

例:フォークしてバグ修正のPRを作成する

① リポジトリをフォークします ② 修正する ③ プロジェクトのオーナーにプルリクエストを送信する

自分のアイデアとして他人のプロジェクトを出発点とする

フォークはgithubの「fork」ボタンをクリックすることで簡単にできます。

ライセンス
  • ライセンス等はフォーク元のライセンスに準拠すること

フォークしたリポジトリにも元のリポジトリの変更を取り込む

にはどうしたらいいか? remote を追加します

$ git remote -v
> origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
> origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
> upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
> upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

こんなふうに。 普段originしか使わないから新鮮で面白そうですね! upstreamは上流という意味です。

実際にPR作成するには?

ここをクリックしたら 自分のmasterにPRを作成するのか or 元のリポジトリのfooブランチにPR作成するのか選ぶことができるようになっています。

最後に

なんか他のリポジトリからcloneして自分のgithubにコミットしたらfork扱い(?)になっている・・ これはなんだ・・・?

多分forkボタン押しちゃったってことなんだろうなぁ… とりあえず納得です。

参考

https://help.github.com/en/articles/fork-a-repo