Git/GitHubレベル別オススメ学習サイトまとめ完全保存版【2019.06】

![git_github.png](https://qiita-image-store.s3.amazonaws.com/0/122142/80980939-09fa-a133-5214-ca5efe7b9773.png)

＜ 最新 変更履歴 - Latest Changed History ＞
2019.06.05 - コマンド記事へ追加
『 [Linuxコマンドを連続して使うには](https://qiita.com/egawa_kun/items/714394609eef6be8e0bf) - @egawa_kun 』

---

このページをご覧くださった方は、資料探しで悩む"気疲れ"と"時間"を大幅に減らし、かなり効率的に早くGit/GitHubを学習できるでしょう。

# 背景

なぜ今更 Git/GitHub という感がありますが、まとめてみました。何故かというと、ググると確かに初心者向けのGitの使い方や設定方法などが掲載されたサイトは多くありますが、個人的に体系立ってイメージを掴める内容が少なく、探すのに苦労したため、その中から特に役立ったと感じたコンテンツをかなり厳選し、まとめてみました。下記の良質なコンテンツは、Git/GitHub習得に大いに役立つでしょう。


# レベル別

## 初心者〜

さらに初心者用の資料もレベル別に番号順で分けました。この順番で学ぶことを強くオススメします。
このレベルは実践ではなく**Git/GitHubがどのようなモノか理解しイメージできることを主な目的**にしています。
問題ないので直ぐにでも実践から入りたいという方は このレベルはスキップし初級者レベルから進んで下さい。ただ Masakazu Matsushita 氏 (@matsukaz) の『 [4. いつやるの？Git入門](https://www.slideshare.net/matsukaz/git-17499005) 』は実践的コマンドも掲載されており神資料なので閲覧推奨です。
<br>

1. [ノンプログラマでも今日から使える「Git」でバージョン管理](https://www.slideshare.net/taniguchimakoto/git-37626657?next_slideshow=1) 
    - 短〜中編 
    - 他では意外にあまり言及していない
    "ステージング/コミット/ブランチを分ける基準" について記載あり
    - ブランチ同士のマージ " cherry-pick " 軽く記載あり
<br><br>

2.  [はじめてのGit for デザイナー＆コーダ](https://www.slideshare.net/saekoyamamoto/gitfor) 
    - 中編 
    - タイトルどおりの閲覧必須資料です。
<br><br>

3.  [Gitはじめの一歩](https://www.slideshare.net/ihcomega/git-57454868)
    - 中編 
    - また超分かりやすい神スライド資料を見つけてしまいました(^ ^)
<br><br>

4. [いつやるの？Git入門](https://www.slideshare.net/matsukaz/git-17499005) - Masakazu Matsushita (@matsukaz)  
    - 中〜長編 
    - 閲覧超必須の神解説資料！ この資料だけでGitの基本が殆どわかると思います。大事な基本イメージを詳細に上手く画像を用いて解説されていて素晴らしすぎます！ 基本コマンドもイメージ画像と共に掲載されており自然と何度も読み返してしまいます。ダントツでオススメできる**Git学習資料の永久保存版**です！ (同タイトルのv1.1.0というアップデート版もありますが、私は元々のオリジナルの方が分かりやすかったです。)
<br><br>

5. [【Git】オレならこう説明する！Git初心者への用語説明 ](https://qiita.com/nnahito/items/e546b27f73e7be131d4e) - @nnahito 
    - 短編 
    - 一般的なIT用語とイメージで大まかに説明下さっていて、分かりやすいと思います。コマンド画面ではなく、SourceTreeというGUIソフトで解説されています。
<br><br>


##  初級者〜

ここから実践形式が加わってきます。
<br>

- [【GitHub超初心者入門】この前初めてGitHubを使い始めたエンジニア見習いが書くGitHubの使い方と実践～とりあえず一緒に動かしてみようぜ！](https://qiita.com/nnahito/items/565f8755e70c51532459) - @nnahito  
    - 短編 / 実践的
    - 私自身こちらの記事が実践から入りやすく参考になりました。
    - 注意点として、記事で解説されてないようですが、別途パソコンにGitのインストールがされている前提です。下記の記事を参考にインストールされると良いです。
        - Windowsの方 : [【初心者向け】Gitのインストール方法をわかり易く解説（画面付き）](https://eng-entrance.com/git-install)
        - Macの方 : [【Gitの使い方】GitをMacにインストールする方法！ | オリジナルゲーム.com](https://original-game.com/how-to-use-git2/) 
    - Gitのイメージと、実際のGitHubなどの画面キャプチャーやコマンド一覧もコンパクトにまとまっていて読みやすいです。
<br><br> 

- [Gitコマンド 最速 実践練習フロー【2018.11】](https://qiita.com/think-a-lot/items/817079a952b5f145dbc7) - @think-a-lot  
    - 短〜中編 / 実践的
    - ネットでは不足しがちな点、本では冗長すぎると感じる点 を補うため、別途 自ら練習コマンドフローを考え作成しました。 2018.11.26 時点では **単純にGitHubにアップロード(プッシュ)するまでの 最もよく使う基本まで** 掲載しています。
<br>    

- [git入門 (全22回) - プログラミングならドットインストール](https://dotinstall.com/lessons/basic_git)
    - 中編 / 実践的 / 動画
    - ご存知プログラミング学習の鉄板サイト。Git然り。動画だと流れも分かりやすく、コンテンツは長過ぎず短すぎず、基礎からブランチ/マージ/コンフリクト時などのトラブル対処方法などの応用まで **体系立った内容で、どれに手を付ければ良いか迷っている方などは、かなりオススメの教材です♪**
<br><br>

- [サルでもわかるGit入門](https://backlog.com/ja/git-tutorial/)
    - 長編 
    - おそらく最もよく紹介されている学習サイトです。
    - コンテンツ量が多いのですが、個人的には多すぎて逆に混乱を招いたり、モチベーションの維持が難しいため、全てを一気には読まず、**私は不明点があった場合に辞書的・リファレンス的に逆引きで使うことが多い**です。
    - またリモートリポジトリについては、Backlogというあまり一般では聞きなれないサービスで解説しているので、リモートリポジトリにGitHubを使いたい方は、注意が必要です。
<br><br>


## 中級者〜

基本/基礎に慣れた方向けです。
ここから本格的に Branch(ブランチ), Merge(マージ), Issue(イシュー)など、個人だけではなくチーム開発でもGitを運用する際、必須になってくる機能群ですね。
<br>

- [Git ブランチの運用 | スタートアップのGit](http://www.startup-git.com/middles/git-branch/)
    - 超短編
    - Gitシンプル解説サイト。特に上記ページはとても短い内容ですが "ブランチ運用フロー"や"ブランチ名"のイメージするのに参考になります。 
<br><br>

- [いまさらだけどGitを基本から分かりやすくまとめてみた](https://qiita.com/gold-kou/items/7f6a3b46e2781b0dd4a0) - @gold-kou 
    - 長編
    - 基本とありますが、チーム開発などでも大事になってくるブランチモデル(ブランチの使い分け方法)にも焦点を当てた中級者向けに丁度よい内容となっています。
    - またボリュームもあり、**中級以上向けのリファレンスとしても活用できる とても優れた記事です**。
<br><br>

- [GitHubで共同開発のためのチュートリアル](https://qiita.com/takeokunnn/items/5bc499121a21f8c5b990) - @takeokunnn 
    - 短〜中編 / 実践的
    - 初級者にも分かりやすく、ポイントを押させたシンプルな開発フロー解説で助かります。
    - issue や pull request の流れ・方法の理解に大きな助けとなりました。
    - 下記```"はじめに"```で仰っている説明に則した**初級者閲覧必須記事**です。
    - ```ブログなどに同じような内容のエントリーが多数ありましたが、断片的な記事しかなかったので書きました。想定読者は、普段Gitを用いた個人開発はやってはいるけど共同開発を行った事がない、もしくは非エンジニアなのでGitを使った事がない方です。``` 
<br><br>


- [【Git】リモートからの取得とリモートへの反映で行っていること(fetch,pull,push) ](https://qiita.com/forest1/items/db5ac003d310449743ca) - @forest1 
    - 中編
    - ローカルブランチ・リモートブランチの間にある大事な "**リモート追跡ブランチ**" についての理解が深まります。
<br><br>

- [Gitでやらかした時に使える19個の奥義](https://qiita.com/muran001/items/dea2bbbaea1260098051#%E3%82%84%E3%82%89%E3%81%8B%E3%81%97%EF%BC%91%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%81%AB%E7%A6%81%E6%AD%A2%E3%83%AF%E3%83%BC%E3%83%89%E5%85%A5%E3%81%A3%E3%81%A6%E3%81%A6%E4%BA%BA%E7%94%9F%E3%82%84%E3%82%81%E3%81%9F%E3%81%84%E6%99%82) - @muran001 
    - 中編 / 実践的
    - 当記事コメントで @Tomo_Yanagi さんからご紹介いただき掲載させていただきました。
    - カジュアルな言葉で、わりとあるあるなイレギュラー対応を解説されていて とても参考になりますね。
    - Liked 5000超えはスゴイです。それだけニーズが高いのですね。
<br><br>


- [Learn Git Branching](http://k.swd.cc/learnGitBranching-ja/)
    - 中〜長編 / 実践的 / Game 
    - Commit/Branch/Checkout/Cherry-pick/Reset/Revert/Rebase/Mergeなど、基礎から一歩進んだ機能を学習できるWEBゲームサイト
<br><br>

<!-- 
- [Gitの基礎](https://qiita.com/satoshi1335/items/ead109412430a078feaa) - @satoshi1335 
    - 短編 
    - Branch や Remote Repository の解説がマニアックで参考になります。
<br><br>

- [まずはGitの仕組みを理解することから](https://qiita.com/kyoyyy/items/161b6905f45bee2efe21) - @kyoyyy 
    - 中編
    - 結構ボリュームがあるので、リファレンス的な使い方が良いと思います。
<br><br>
-->

- [GitHub flowを用いた開発フロー](https://qiita.com/ryotakodaira/items/e860396ae44942dcca5e) - @ryotakodaira 
    - 中編
    - あのWantedlyの開発フローを参考にされた体系だった解説です。
    - Issueの概要解説も参考になります。
<br><br>

- [git reset についてもまとめてみる - murankの日記](http://d.hatena.ne.jp/murank/20110327/1301224770)
    - 短編
    - Gitコマンド取り消しに使われる git reset 解説。解説図が とても分かりやすいです。<br><br>

- [こわくない Git - Kota Saito](https://www.slideshare.net/kotas/git-15276118) 
    - 中〜長編
    - Commit ( コミット ), Branch ( ブランチ ), Merge ( マージ ), Rebase ( リベース )に焦点を当てた詳細解説です。
<br><br>

  

## 上級者〜

英語解説や、文字多め解説です。
より正確にGit/GitHubを深く掘り下げていきたいプロフェッショナルなヘビーユーザー向けですね。<br>

- [【Official】Introduction to GitHub](https://services.github.com/on-demand/intro-to-github/)
    - 中編 / WEB・動画 
    - GitHub公式紹介サイトです。英語ですが、慣れてきたら やはりチェックしておきたいですね。
<br><br>

- [GitHub Learning Lab](https://lab.github.com/)
    - 中編 / 実践的 
    - 全編英語のGitHub公式WEBワークショップです。Repositoryを連携させてカリキュラムを進める教材です。Git英語に慣れたい場合に使いたいですね。
<br><br>

- [【Official】Git Book](https://git-scm.com/book/ja/v2)  /  [Pro Git 日本語版 電子書籍公開サイト](http://progit-ja.github.io/)
    - 長編
    - Git公式ドキュメントです。画像は少なく文字多めですが、最も正確な情報を知りたいときに重宝します。
<br><br>


# コマンド記事 / Command Article

- [Macのターミナルコマンド一覧（基本編）](https://qiita.com/ryouzi/items/f9dee1540a04a0bfb9a3) - @ryouzi 
    - コマンドを使うにあたってはOSのコマンドを使うこともよくあるので覚えておきましょう。
    - Windowsの方は <br>
      [【初心者必見】コマンドプロンプトの使い方と覚えておきたい便利な機能](https://eng-entrance.com/cmd-usage) <br>辺りを見ておくと良いでしょう。
<br><br>

- [macでgit使いになるために抑えておきたいコマンド（基礎編）](https://qiita.com/Yama-to/items/25b87e7089bc4803a538) - @Yama-to 
    - ひととおりのコマンドをコンパクトに掲載されてます。
<br><br>

- [初心者必須! よく使うGitコマンド一覧](https://qiita.com/think-a-lot/items/9c185fe41fca269ae0b0) - @think-a-lot 
    - 自身でよく使うコマンドをまとめました。
<br><br>

- [Linuxコマンドを連続して使うには](https://qiita.com/egawa_kun/items/714394609eef6be8e0bf) - @egawa_kun 
    - 分かりやすい記事です。慣れてくると使いたくなります。

- [基本的なGitコマンドまとめ](https://qiita.com/2m1tsu3/items/6d49374230afab251337) - @2m1tsu3 
    - 主要コマンド名ごとのカテゴリ分けがされてます。
<br><br>
- [【Official】GITチートシート PDF / GitHub](https://services.github.com/on-demand/downloads/ja/github-git-cheat-sheet.pdf)
    - GitHub公式のドキュメントです。数はあまり多くありません。
    - [多言語](https://services.github.com/on-demand/resources/cheatsheets/)
<br><br>
- [意外と知らない？ Gitコマンド 100本ノック](https://qiita.com/ueki05/items/5c233773e3186989bfd3) - @ueki05 
    - ニッチなコマンドを調べたい時に使う感じですね。
    - コミットメッセージを修正する `$ git commit --amend` は無かったです。
<br><br>
- [Git & GitHub Workflow PDF](http://jr0cket.co.uk/developer-guides/git-and-github-workflow.pdf) / [John Stevenson](https://github.com/jr0cket)
    - 一枚画像でコマンドの流れをイメージするのに重宝します。
<br><br>

- [NDP Software :: Git Cheatsheet](http://ndpsoftware.com/git-cheatsheet.html)
    - さらに詳細に、３つのエリアからの各種コマンドを、カンタンなアニメーションで見ることができ重宝します。
<br><br>

- [Githubで特定のpull requestをローカルに持ってくる](https://qiita.com/tarr1124/items/d807887418671adbc46f) - @tarr1124 
    - 短編
    - よくあるシーンとして、他スタッフのPR(プルリク)をレビューするときに必要な重要なコマンド
<br><br>

- [【Git】ブランチの切り替えとかプルとか出来ないときの対処法](https://qiita.com/konweb/items/061475d6376db957b3c4) - @konweb 
<br>

- [Gitに関連する記事 | WWWクリエイターズ](http://www-creators.com/archives/category/git)
    - 高品質なテクニカル記事を掲載されているWWWクリエイターズさん
- [Git で変更を取り消して、元に戻す方法 (事例別まとめ) | WWWクリエイターズ](http://www-creators.com/archives/1290#git_reset)
    - git checkout / revert / reset について 
    - パターン/シチュエーションごとに解説があり分かりやすいです。
    - 一例として　git checkout には `作業ブランチを切り替える` 以外に `指定したコミットの状態を、インデックスと作業ツリーに展開する` という機能があるという あまり見かけないですが重要な記載もあり素晴らしいです。
<br><br>

- [[ver 1.2] Git でよく使われるコマンドにイラストによる説明を加えて1枚のチートシートにまとめてみた](https://qiita.com/kozzy/items/b42ba59a8bac190a16ab) - @kozzy 
    - 自作イラスト付き解説の神チートシート！✨
<br><br>

- [間違って別のブランチで実装を始めちゃった時にgit stashで別ブランチに編集中のソースを移動する](https://gist.github.com/koudaiii/526707492ebc5915596e)
    - これは恐らく誰しも遭遇する場面なので必須！
<br><br>

- [git (checkout | branch | status)の代わりに git (co | br | st)を使って開発速度を2倍にしよう](https://qiita.com/tsukakei/items/586571be8089289486ff) - @tsukakei
    - とても便利なので早速 使い始めました。

<br>


# リファレンス(辞書)的に使えそうな記事

- [初心者必須! よく使うGitコマンド一覧](https://qiita.com/think-a-lot/items/9c185fe41fca269ae0b0) - @think-a-lot 

- [逆引きGit | サルでもわかるGit入門](https://backlog.com/ja/git-tutorial/reference/)

- [いまさらだけどGitを基本から分かりやすくまとめてみた](https://qiita.com/gold-kou/items/7f6a3b46e2781b0dd4a0) - @gold-kou 

- [Gitでやらかした時に使える19個の奥義](https://qiita.com/muran001/items/dea2bbbaea1260098051#%E3%82%84%E3%82%89%E3%81%8B%E3%81%97%EF%BC%91%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%81%AB%E7%A6%81%E6%AD%A2%E3%83%AF%E3%83%BC%E3%83%89%E5%85%A5%E3%81%A3%E3%81%A6%E3%81%A6%E4%BA%BA%E7%94%9F%E3%82%84%E3%82%81%E3%81%9F%E3%81%84%E6%99%82) - @muran001 

- [gitでありがちな問題の解決方法まとめ](https://qiita.com/yaotti/items/0d5364eae36ad1bb8e01) @yaotti 

- [Gitに関連する記事 | WWWクリエイターズ](http://www-creators.com/archives/category/git)

- [[ver 1.2] Git でよく使われるコマンドにイラストによる説明を加えて1枚のチートシートにまとめてみた](https://qiita.com/kozzy/items/b42ba59a8bac190a16ab) - @kozzy 

<br>

以上となります。いかがでしたでしょうか？
ご感想やご意見等ございましたら お気軽にコメントをどうぞ。
<br>


---

# 変更履歴 - Changed History 

2019.06.05 - コマンド記事へ追加
『 [Linuxコマンドを連続して使うには](https://qiita.com/egawa_kun/items/714394609eef6be8e0bf) - @egawa_kun 』

2019.06.01 - 中級に記事追加 / 中級記事 順序修正
『 [git･GitHub 実践フロー 要点まとめ](https://qiita.com/think-a-lot/items/a7e2c3a3cdf5b15879fd) - @think-a-lot 』

2019.04.12 - リファレンス(辞書)的に使えそうな記事 カテゴリ追加

2019.04.04 - コマンド記事へ追加 / 一部記事削除
『 [gitでありがちな問題の解決方法まとめ](https://qiita.com/yaotti/items/0d5364eae36ad1bb8e01) @yaotti 』
『 [git (checkout | branch | status)の代わりに git (co | br | st)を使って開発速度を2倍にしよう](https://qiita.com/tsukakei/items/586571be8089289486ff) - @tsukakei 』

2019.03.29 - コマンド記事へ追加
『 [[ver 1.2] Git でよく使われるコマンドにイラストによる説明を加えて1枚のチートシートにまとめてみた](https://qiita.com/kozzy/items/b42ba59a8bac190a16ab) @kozzy 』
『 [間違って別のブランチで実装を始めちゃった時にgit stashで別ブランチに編集中のソースを移動する](https://gist.github.com/koudaiii/526707492ebc5915596e) 』
『 [Gitで特定のファイルのみ前のバージョンに戻す](https://qiita.com/saekis/items/5af43cd55315fc3b6d04) @saekis 』


2019.03.22 - コマンド記事へ追加 / その他一部削除
『[【Git】ブランチの切り替えとかプルとか出来ないときの対処法](https://qiita.com/konweb/items/061475d6376db957b3c4) 』
『 [Gitに関連する記事 | WWWクリエイターズ](http://www-creators.com/archives/category/git) 』
『 [Git で変更を取り消して、元に戻す方法 (事例別まとめ) | WWWクリエイターズ](http://www-creators.com/archives/1290#git_reset) 』

2019.03.18 - 中級に追加
『[【Git】リモートからの取得とリモートへの反映で行っていること(fetch,pull,push) ](https://qiita.com/forest1/items/db5ac003d310449743ca)』


 2018.12.28 - 中級大幅アップデート 
『 [GitHubで共同開発のためのチュートリアル](https://qiita.com/takeokunnn/items/5bc499121a21f8c5b990) 』 
『 [Git ブランチの運用](http://www.startup-git.com/middles/git-branch/) 』
『 [いまさらだけどGitを基本から分かりやすくまとめてみた](https://qiita.com/gold-kou/items/7f6a3b46e2781b0dd4a0) 』
『 [GitHub flowを用いた開発フロー](https://qiita.com/ryotakodaira/items/e860396ae44942dcca5e) 』
『 [Gitでやらかした時に使える19個の奥義](https://qiita.com/muran001/items/dea2bbbaea1260098051#%E3%82%84%E3%82%89%E3%81%8B%E3%81%97%EF%BC%91%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%81%AB%E7%A6%81%E6%AD%A2%E3%83%AF%E3%83%BC%E3%83%89%E5%85%A5%E3%81%A3%E3%81%A6%E3%81%A6%E4%BA%BA%E7%94%9F%E3%82%84%E3%82%81%E3%81%9F%E3%81%84%E6%99%82) 』
上記 追加 / その他一部削除

2018.12.08 
中級に『 [git reset についてもまとめてみる - murankの日記](http://d.hatena.ne.jp/murank/20110327/1301224770) 』
コマンド一覧に『 [初心者必須! よく使うGitコマンド一覧](https://qiita.com/think-a-lot/items/9c185fe41fca269ae0b0) 』 追加 

2018.11.26
Firstview Image 追加 / 実践的教材は初級者レベル〜に集約 / 
タイトルにGitHub追記 / 上級に『 [GitHub Learning Lab](https://lab.github.com/) 』追加