LoginSignup
76
42

More than 1 year has passed since last update.

Gitのフォークとクローンの違いをわかりやすく

Last updated at Posted at 2021-05-14

image.png

Gitのフォークとクローン

GitHubについて調べているとclone以外にforkという機能があることを知りました。
どうやらフォークとクローンは似ているみたいなのでイラストを使いながら、まとめてみることにします。

対象読者

  • ひとりで勉強している初学者

GitHubを用いてチーム開発をしている方は対象にしていません。
チーム開発でのクローン、フォークについては別の機会に。

Gitのforkとcloneの違い

GitHub Docsの用語集にフォークとクローンについて説明がありましたので引用します。

フォーク

フォークとは、個人が別のユーザのリポジトリをコピーしたものであり、その個人のアカウントに存在します。フォークであれば、元の上流リポジトリに影響を与えることなしに、プロジェクトに対して自由に変更を加えることができます。また、いずれのリポジトリも接続は切れていないので、上流リポジトリでプルリクエストをオープンしてフォークと最新の変更とが常に同期されるようにすることもできます。

クローン

クローンとは、コンピュータ上に存在するリポジトリのコピーです。ウェブサイトのサーバ上のどこかにあるのではなく、またそのコピーを作成する動作とも異なります。クローンを作成すると、お気に入りのエディタでファイルを編集できるようになり、オンラインになっていなくても Git を使用して変更を追跡できます。クローン作成元のリポジトリもリモートバージョンへの接続が切れることはないので、オンラインになればローカルでの変更をリモートにプッシュすることで同期が取れます。

どちらもコピーのことと書いてあります。

ちょっとよくわからないですよね。わかりやすくしてみます。

フォークとは

フォークとは他人のユーザーのリポジトリをコピーして、自分のアカウントのリポジトリとしてコピーすることです。これにより、他人のユーザーのリポジトリに影響を受けずに、自由に変更を加えることができます。

Image from Gyazo

クローンとは

クローンは単にリモートリポジトリを自分のローカルリポジトリに複製することです。あくまで自分のリモートリポジトリのものではないので、権限がなければ変更を加えることはできません。

Image from Gyazo

フォークの使い道

フォークは主な目的としてはフォークしたユーザーのリポジトリへの変更を提案したり、そのリポジトリから自分のアイデアの出発点として活用するために使えます。

  • オリジナルのリポジトリへの貢献が前提
  • forkした場合そのリポジトリを所有する開発者に通知される

*無気力人間をやる気マックス人間に変えてみた。

Image from Gyazo

クローンの使い道

Image from Gyazo

クローンの主な目的としては、好きなVSコードなどのエディタでソースコードを見たり、ローカルサーバーで実際にアプリケーションを動作させてみたりすることができます。

クローンのやり方、フォークのやり方

GitHub Desktopからやるやり方もありますが、一般的なGitHubページからフォーク、クローンする方法を説明します。

どこか適当な他人のGitHubのページにアクセスしてください。

フォークのやり方

Image from Gyazo

GitHubのページの右上にForkとあります。クリックしましょう。
Image from Gyazo

すると自分のGitHubアカウント名が表示されます。アカウント名をクリックします。

Image from Gyazo

自分のアカウントにslackのリポジトリが作成されています。
これだけで自分のアカウントにコピーすることができました。

クローンのやり方

Image from Gyazo

Codeをクリックします。

Image from Gyazo

クローンの方法についての選択画面が表示されます。
今回は一般的なHTTPSを使ってクローンしましょう。

Image from Gyazo

クリップのアイコンをクリックすることでコードがコピーできます。

Image from Gyazo

ターミナルを開いてください。クローンを保存したいディレクトリに移動します。ない場合は作成してください。

Image from Gyazo

git cloneと入力した後にコピーしたコードを貼り付けます。
Enterキーを押します。

Image from Gyazo

これで自分のパソコンにクローンすることができました。

終わりに

  • clone

リモートリポジトリをローカルリポジトリにコピーすること

同じ人間です。

  • fork

他人のリポジトリを自分のリポジトリにコピーすること

DNAが同じだけど違う人間です。


クローン人間って別人だよな。。。とは思いますが。

これだけとりあえず覚えておきましょう。
深い話はまた別の機会に!!


参考サイト

76
42
0

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
76
42