質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

3回答

2707閲覧

GitとGithubの違い、基本事項について

quiqui59911225

総合スコア16

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

1グッド

1クリップ

投稿2019/02/09 08:43

チームでコードを書くとかはしていない場合、Githubを使う意味はありますか?

・Gitはローカルで変更内容とかを保存できるため個人での開発向け
・GithubはGitのWeb拡張バージョンでチームでの開発向け
だと思っているんですがあっていますでしょうか?

また、git cloneでクローンするのと、zipでダウンロードするのとではどんな違いがあるのでしょうか??
前者はgitで自分がローカルで編集したものをプルリクエストでき(リポジトリとしてのダウンロード)、後者はそれができない(ただのファイル郡としてのダウンロード)のでしょうか?

自分がコードを見て、実際にローカルマシンで動かしたいなと思った場合は、どちらの方法が良いのでしょうか?

yonn👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

誤解を恐れずざっとした説明にとどめます。

Git はバージョン管理システムです。
ローカルリポジトリとリモートリポジトリを扱うことができます。
一台の PC で開発する場合はローカルリポジトリのみで十分です。

複数台の PC で開発する場合、メイン PC に侵入してソースコードをとってくるわけにはいかないので、ローカルリポジトリをネット上のリモートリポジトリと同期します。
ソースコードをローカルリポジトリに反映することをコミットと言います。
ローカルリポジトリをリモートリポジトリに反映することをプッシュと言います。
リモートリポジトリをローカルリポジトリに反映することをフェッチと言います。
ローカルリポジトリからソースコードを取り出すことをチェックアウトと言います。

メイン PC のソースをローカルリポジトリにコミットし、それをリモートリポジトリにプッシュし、別の PC のローカルリポジトリにフェッチし、そこからチェックアウトすると、メイン PC にあるソースと他の PC にあるソースが一致します。

同様に他の PC のソースを変更してコミットし、プッシュすると後でそれをメイン PC に取り出すことができます。

メイン PC で作業していて、変更をリモートリポジトリに反映させる前に外出しなければならなかったとします。そして外出先でも別の部分を書き換えなければならなくなったとします。
この場合、どの部分をどう書き換えたかをきちんと管理しておかねばわけがわからなくなりますが、Git を使うと複数の変更箇所をうまく合わせることができます。これをマージと言います。

フェッチしてマージすることをプルと言います。普通はフェッチしたらマージするので、フェッチ・マージの代わりにプルを使います。

GitHub は Git を使う上で必要なリモートリポジトリを提供するサービスです。

また、リモートリポジトリからローカルリポジトリを新規に作ることをクローンと言います。
ZIP でダウンロードするのとクローンするのとの違いは、リポジトリが作られることです。
リポジトリを使えばマージやバージョン管理が使えます。
ダウンロードした後にリポジトリを作成することもできますが、そうするとクローンと同じ作業になります。

プルリクエストは個人開発では必要ないと思います。
これは、リモートリポジトリにソースコードの変更をプッシュする前に、「このような変更をプッシュしてもいいですか?」と尋ねる行為にあたります。
プルリクエストが承認されると変更はマージされ、却下されると変更は破棄されます。

投稿2019/02/09 09:12

編集2019/02/09 09:27
Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんにちは。

だと思っているんですがあっていますでしょうか?

合っているような間違っているような微妙です。

GitはGit自体でチーム開発をサポートできます。
GitHubはGit単体より強力なサポートを提供してくれます。
またGitHubを使う際にはローカルにGitをインストールして使います。

GitHubやGitのチーム開発用の機能を使わないで、個人でGitを使うこともあります。
これはこれで非常に強力です。

個人で公開しないのにGitHubを使うかというとあまりない気がします。
もしかするとモバイルで開発するような時に便利かも知れません。ちょっと前まではGitHubはプライベート・リポジトリが有料でしたので、あまりいないような気もしますが。

また、git cloneでクローンするのと、zipでダウンロードするのとではどんな違いがあるのでしょうか??

前者はgitで自分がローカルで編集したものをプルリクエストでき(リポジトリとしてのダウンロード)、後者はそれができない(ただのファイル郡としてのダウンロード)のでしょうか?

違います。前者でもプルリクエストすることはできません。プルリクを投げるには相手が貴方のリポジトリへアクセスできる必要があります。貴方のローカル・リポジトリに他の人がアクセスできるようにするのはナンセンスでしょう。
通常は、貴方のGitHubアカウントにForkしてから、ローカルにCloneし、ローカルで修正後Commitしてご自身のGitHubのリモート・リポジトリへPushします。そして、プルリクを投げる感じです。(Forkしないでプルリクを投げるオプションもあるようです。)

自分がコードを見て、実際にローカルマシンで動かしたいなと思った場合は、どちらの方法が良いのでしょうか?

当該リポジトリが更新された時にローカルにも反映させたい時は、Cloneすると便利です。
そこまでせず、軽く見てみるだけならzipでダウンロードも有りと思います。

投稿2019/02/09 09:28

編集2019/02/09 16:08
Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quiqui59911225

2019/02/10 12:40

回答有り難うございます。プルリク後のマージについて追加で質問です。 例えば、先生、Aさん、Bさんの3人がいて、先生がsamle.txtの前半部分をAさんに、後半部分をBさんに編集してもらうようにするとします。sample.txtは元々(前半)aaa(後半)bbbという内容で、Aさんは(前半)AAA(後半)bbbに、Bさんは(前半)aaa(後半)BBBという風に編集したいとします。 ・先生のように複数の人と同じファイルを編集してほしいとき、先生のレポジトリをまずAさんBさんがフォークして、それをローカルにクローン、ローカルで編集後コミットし、最後に先生に自分のリポジトリをプルリクエストするという流れなのでしょうか? ・このとき先生がマージしたら(前半)AAA(後半)BBBというsample.txtになるんでしょうか? 分かりづらかったらすみません
Chironian

2019/02/10 12:56

概ね、そのような流れでOKですよ。 > ・このとき先生がマージしたら(前半)AAA(後半)BBBというsample.txtになるんでしょうか? そうなるはずです。 > ローカルで編集後コミットし、最後に先生に は下記ですね。 > ローカルで編集後コミットして自分のリモート・リポジトリへプッシュし、最後に先生に また、Aさんがプルリク後、先生がマージしてmasterへプッシュした後、Bさんがプルリクを投げることになった場合は、Bさんはなるべく最新版をプルしてからコミット→プッシュ→プルリクした方が先生は助かります。 あと、今回の例のような密なコミュニティの場合は、フォークまではしないで先生のリポジトリにAさんとBさんのブランチを切って作業することも多いと思います。 インターネット上で見知らぬ人同士が連携するような時はフォークするのが一般的です。各自が管理するリポジトリは、その人だけが修正できるので、見知らぬ人によるミスや悪意によるリポジトリ破壊を回避できるからです。
quiqui59911225

2019/02/10 20:14

わかりやすく、迅速な回答ありがとうございました!
guest

0

ベストアンサー

こんにちは。

チームでコードを書くとかはしていない場合、Githubを使う意味はありますか?

私は個人の開発でもGitHubを使っています。バックアップが目的ですね。
もしもローカルのgitリポジトリごと削除してもGitHubがあれば復元できますので。
(あと芝が生えるのが面白いのでモチベーションも上がります。)

また、git cloneでクローンするのと、zipでダウンロードするのとではどんな違いがあるのでしょうか??

ZIPでダウンロードしてきたものも.gitがあるのでできることは変わらないと思います!

投稿2019/02/09 09:37

t-taro

総合スコア38

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問