GitHubの使い方
~GitHub・SourceTreeの導入~
事前準備
使用するツールの紹介
●GitHub
https://github.com/
●SourceTree
https://www.sourcetreeapp.com/
GitHubのアカウント登録
 前のページのURLからGitHubのサイトにアクセス.
右上の[Sign in]を押して,
名前・メールアドレス・パスワードを登録してください.
↓
 プランを選択してください.
↓
 登録したメールアドレスに認証のメールが届きます.
メールの内容に従ってユーザ認証を行ってください.
GitHubとは…
 GitとGitHubの違い
●Git : プログラムソースなどの変更履歴を管理する分散型のバージョン管理システム
●GitHub : Gitの仕組みを利用して、
世界中の人々が自分の作品(プログラムコードやデザインデータなど)を
保存、公開することができるようにしたウェブサービスの名称
Gitを用いるメリット
 Gitを用いることでファイルのバージョンを容易に管理することができる.
 以前のデータも残っているため編集前の状態に戻すことも可能.
バージョン管理しない
ABC.t
xt
ABC_Aを修正. txt ABC_Bを修正. txt ABC_最終版を修正. txt
Gitでバージョン管理
ABC.txt
ABC.txt
ABC.txt ABC.txt
GitHubを使う上での事前知識
 まずは用語について説明します.
 リポジトリ :ファイルやディレクトリの状態を保存する場所
ディレクトリなどをリポジトリの管理下に置くことで、そのディレクトリ内の
ファイルなどの変更履歴を記録することができます.
 ローカルリポジトリ : 自身のマシン内にあるリポジトリ
 リモートリポジトリ : サーバーなどネットワーク上にあるリポジトリ
GitHubを使う上での事前知識
 リモートリポジトリにファイルを
置くことで,複数の人が利用可能になる
リモートリポジトリ
ネットワーク
データ
反映
データ
反映
データ
取得
データ
取得
ローカルリポジトリローカルリポジトリ ローカルリポジトリ
データ
取得
データ
反映
作業者A 作業者B 作業者C
Source Treeの役割
GitHubが便利なことはわかってもらえたと思います.
しかし GitHubを使うためには多くのコマンドを覚えないといけません!
そこで Source tree を用いることで
GitHubをGUIベースで便利に管理することができます!
Source Treeのインストール
 前記のURLからインストーラをダウンロードしてください.
↓
 インストーラの指示に従ってインストールを完了してください.
GitHubの主な機能
 ブランチ
 マージ
 フェッチ
 プル
 リポジトリの新規作成
 クローン
 コミット
 プッシュ
● リ ポ ジ トリ の 作 成
● フ ァ イ ルの ア ッ プ ロー ド
● フ ァ イ ルの 派 生
● フ ァ イ ルの ダ ウ ン ロー ド
リポジトリの新規作成
 GitHubにログインした状態で、
「New Repository」ボタンを押します.
リポジトリの新規作成
 「Repository name」の入力のあと,必要に応じて「Description」も入力します.
 リポジトリの種類を「Public」か「Private」を選択します.
この「Private」リポジトリは,
有料会員のみ作成することが可能です
 リポジトリの中にあらかじめ
READMEファイルを作成しておく場合は,
「Initialize this repository with a README」にチェックします.
 .gitignoreやlicenseについては後で追加や変更ができます.
 [create repository]を押してリポジトリを作成します.
クローン
 クローン : リモートリポジトリを複製して,新しいローカルリポジトリを作成すること
 任意のGitHubのプロジェクトページに行きます.
↓
 [Clone or download]ボタンを押し,
リポジトリーのURLを取得します
(コピーボタンを押すと、クリップボードに
リポジトリーのURLがコピーされます.)
クローン
 Source treeにてクローンを行います.
WindowsとMacOSで手順が少し異なります.
 Windows  MacOS
クローン
 先ほどコピーしたGitHubのURLを
[元のパス/URL:](MacOS;[ソース URL])
 ローカルリポジトリを管理するパスを
[保存先のパス:]で指定します
 入力が終われば[クローン]を
押してクローンを行います.
(Windows の場合)
コミット&プッシュ
 用語説明
 コミット : 変更したデータをリポジトリに登録すること.
 プッシュ :ローカルリポジトリのコミットをアップロードして
GitHub上のリモートリポジトリに反映させること.
 インデックス : コミットするファイルの変更点を
一時的に保存しておく場所
 ステージ : ファイルをインデックスに登録すること
⇔アンステージ
作業中のファイル インデックス ローカルリポジトリー
リモートリポジトリー
プッシュプル
コミット
 [コミット]を押し、コミットするファイルを選択する画面に移動します。
コミット
 [Stage All]もしくは
ファイルを選択して[Stage Selected]を押すと
ファイルがインデックスに追加されます.
 コミットメッセージを入力します.
後の確認や第三者が見たときのために
変更点を簡潔に書きましょう.
 [コミット]を押すと,
ファイルのコミットができます.
コミットメッセージの書き方
 原則
1行目:変更内容の要約(タイトル、概要)
2行目 :空行
3行目以降:変更した理由(内容、詳細)
 複数の修正をひとつのコミットにまとめると変更点がわかりにくくなるため
コミットはできる限り頻繁に行うことが好ましいです.
プッシュ
 [プッシュ]を押すことでプッシュができます.
ブランチ&マージ
 ブランチ :並行して作業を進めるためにmasterブランチからコミットの流れを分岐すること
 マージ :複数のブランチやコミットを統合させること
 リポジトリに最初のコミットを行うと
masterブランチが作成されます.
 最終的にはすべてのブランチが
masterブランチにマージされます.
Ver.1.0 Ver.1.2Ver.1.1
Ver.2.0β
Ver.2.0
ブランチ
マージデバッグめっちゃしたし、
公開しても大丈夫そうだな…!
よし、これで確定して
本筋に戻そう(マージ)
作ったソフトに一気に
機能をつけたいけど、
失敗したらやだな…
コピーして作ろ!(ブランチ)
フェッチ
 フェッチ :リモートリポジトリの最新の履歴の取得を行うこと
 ローカルリポジトリで作業している間にリモートリポジトリの内容が更新されたときなどに,
フェッチを行うことでリモートリポジトリの最新の履歴が取得できる.
 ただし,masterブランチに統合されていないことに注意!
あくまで最新の履歴をみることができるだけ.
プル
 プル :リモートリポジトリの最新の履歴の取得を行う
+ masterブランチに統合する
 「プル」=「フェッチ」+「マージ」
html html
css css
ローカルリポジトリリポジトリ
その他の機能
 以上のものはGitHubの基本的な機能です.
 しかし,GitHubには,まだまだ便利な機能が揃っています.
 最後に,その一例として「プルリクエスト」を紹介します.
プルリクエスト
 プルリクエスト : 自分がおこなった変更をマージしてもらうようにリクエストをすること.
 つまり、コードの変更をレビュワーに通知し、マージを依頼する機能のことです.
 流れとしてはこのような感じになります.
①GitHubにブランチ
をプッシュする
②ブランチから
プルリクエストを作成する
③コードをレビューする ④ブランチをマージする
こ
れ
も
よ
ろ
し
く
〜
プルリクエストのメリット
 コードのレビューを受けることで,自身では気付かなかった
コードの指摘やバク・記述ミスなどが発見しやすい.
 作成されたプルリクエストは一覧で確認できるため
レビュー・マージ担当者は漏れなく処理することができる.
 プルリクエスト上でコメントでの議論が可能.
 このようなやりとりを経て、masterブランチにマージされる
ソースコードの品質を向上させることができます.
プルリクエスト
 GitHubの任意のページにアクセスする.
 リポジトリの画面で
[New Pull Request]ボタンを押し,
プルリクエストの作成を開始します.
プルリクエスト
 親ブランチと子ブランチを決めます.
 コミット履歴とソースコードの差分が表示されます.
選択したブランチに間違いがなければ
[Create pull request]ボタンを押し,
プルリクエストの詳細を作成する画面へ移動します
プルリクエストの詳細設定
 プルリクエストの詳細について決めていきます.
 タイトル
簡潔なタイトルで内容がすぐわかること
 詳細
◦プルリクエストを送るに至った経緯
◦マージすることで期待できる結果
◦関連するIssueやURL
◦このプルリクエストでは行わないこと
– 対応しない項目に関しての指摘が入らないようにするため
◦マージ後のリスク
– 修正箇所の影響範囲などを記入することで,デバッグ項目の漏れなどを減らす
プルリクエストの詳細設定
 その他の詳細設定
◦Reviewers
– レビューする人を設定します
◦ Assignees
– プルリクエストの内容を
対応した人・対応する人を設定します
◦ Labels
– [bug(バグ)][question(質問)]
[enhancement(機能の実装)]等から選択します
◦ Milestone
– マイルストーンを選択します([Issues]画面の[milestone]ボタンから作成可能)
参考資料
 TECHACADEMY
https://techacademy.jp/magazine/
 Six apart ブログ
https://blog.sixapart.jp/
 ICS MEDIA
https://ics.media/
 Qiita
https://qiita.com/
 サルでもわかるGit入門~バージョン管理を使いこなそう~
http://www.backlog.jp/git-guide/

More Related Content

PPTX
Google BigQueryのターゲットエンドポイントとしての利用
PDF
GitHubの機能を活用したGitHub Flowによる開発の進め方
PDF
20180729 Preferred Networksの機械学習クラスタを支える技術
PDF
DI(依存性注入)について
PDF
マルチテナント環境における WebLogic Server 管理
PDF
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
PDF
プログラミング支援AI GitHub Copilot すごいの話
PPTX
DockerコンテナでGitを使う
Google BigQueryのターゲットエンドポイントとしての利用
GitHubの機能を活用したGitHub Flowによる開発の進め方
20180729 Preferred Networksの機械学習クラスタを支える技術
DI(依存性注入)について
マルチテナント環境における WebLogic Server 管理
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
プログラミング支援AI GitHub Copilot すごいの話
DockerコンテナでGitを使う

What's hot (20)

PDF
Djangoフレームワークのユーザーモデルと認証
PPTX
Keycloak入門
PDF
Kubernetesによる機械学習基盤への挑戦
PDF
Getting started with MLOps
PDF
OCHaCafe#5 - 避けては通れない!認証・認可
PPTX
TVMの次期グラフIR Relayの紹介
PPTX
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
PDF
ハイブリッド時代のID基盤構成の基礎
PDF
AbemaTVにおける推薦システム
PDF
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
PDF
DockerとPodmanの比較
PPTX
(本当に)一般的なご自宅向けのNutanix CE
PPTX
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PPTX
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
PPTX
Qlik Tips 20220816 リンクテーブル
PPTX
20221018 QlikTips 変数でできること
PPTX
[DL輪読会]Focal Loss for Dense Object Detection
PPTX
backbone としての timm 入門
PDF
Pythonではじめるロケーションデータ解析
Djangoフレームワークのユーザーモデルと認証
Keycloak入門
Kubernetesによる機械学習基盤への挑戦
Getting started with MLOps
OCHaCafe#5 - 避けては通れない!認証・認可
TVMの次期グラフIR Relayの紹介
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
ハイブリッド時代のID基盤構成の基礎
AbemaTVにおける推薦システム
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
DockerとPodmanの比較
(本当に)一般的なご自宅向けのNutanix CE
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Qlik Tips 20220816 リンクテーブル
20221018 QlikTips 変数でできること
[DL輪読会]Focal Loss for Dense Object Detection
backbone としての timm 入門
Pythonではじめるロケーションデータ解析
Ad

Similar to GitHubの使い方 (20)

PPTX
GitHubアカウントの作成
PPTX
色んな環境用の たった一つの.gitConfig
PDF
GitHub勉強会
PPT
Gitの紹介
PPTX
GitHub Handson
PDF
LT発表-第6回_共同作業におけるGit
PDF
@s_ssk13さん向けGitHub入門
PDF
GitHubの入門を読む前に読む入門書
PPTX
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
PPTX
Git講習会
PDF
GitHub へのユーザー登録と既存のプロジェクトの検索
PDF
Git hub pagesで告知サイトを作ってみた
PDF
Git plus something / Git+何かで更にGitを使いこなす
PDF
医療データ解析者へ向けた Git・GitHub 入門
PDF
Git_GiHub講習会.pdf
PDF
Git 初心者のための GitHub Pages
PDF
Git道場を開催してきた
PPTX
GitHub勉強会~当日資料~
PDF
Git handson
PDF
WindowsでGitを使う際のベストプラクティス
GitHubアカウントの作成
色んな環境用の たった一つの.gitConfig
GitHub勉強会
Gitの紹介
GitHub Handson
LT発表-第6回_共同作業におけるGit
@s_ssk13さん向けGitHub入門
GitHubの入門を読む前に読む入門書
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
Git講習会
GitHub へのユーザー登録と既存のプロジェクトの検索
Git hub pagesで告知サイトを作ってみた
Git plus something / Git+何かで更にGitを使いこなす
医療データ解析者へ向けた Git・GitHub 入門
Git_GiHub講習会.pdf
Git 初心者のための GitHub Pages
Git道場を開催してきた
GitHub勉強会~当日資料~
Git handson
WindowsでGitを使う際のベストプラクティス
Ad

More from Atelier Frameworks (20)

PPTX
Arduino led
PPTX
unity 花火
PPTX
unity オブジェクトを動かす
PPTX
unity 軌跡
PPTX
unity Particle systemで翼を表現する
PPTX
unity SHOOTING GAME (prefab・当たり判定)
PPTX
unity sprite animation 葉っぱが舞う (ハルフル)
PPTX
unity sprite animation・prefab (ハルフル)
PPTX
unityでNuitrackを使う 
PPTX
unity sprite animation (ハルフル)
PPTX
unity 画像の移動 (ハルフル)
PPTX
カラフルゴーストバスターズ「kinectでのモーション検出」
PPTX
カラフルゴーストバスターズ「得点の計算」
PPTX
カラフルゴーストバスターズの演出「ゴースト」
PPTX
カラフルゴーストバスターズの演出「バルーン」
PPTX
海さんぽ演出「波」
PPTX
海さんぽ演出「サメ」
PPTX
海さんぽ演出「サカナが寄ってくる」
PPTX
海さんぽ演出「光道と動画再生」
PPTX
海さんぽ演出「メッセージボトル」
Arduino led
unity 花火
unity オブジェクトを動かす
unity 軌跡
unity Particle systemで翼を表現する
unity SHOOTING GAME (prefab・当たり判定)
unity sprite animation 葉っぱが舞う (ハルフル)
unity sprite animation・prefab (ハルフル)
unityでNuitrackを使う 
unity sprite animation (ハルフル)
unity 画像の移動 (ハルフル)
カラフルゴーストバスターズ「kinectでのモーション検出」
カラフルゴーストバスターズ「得点の計算」
カラフルゴーストバスターズの演出「ゴースト」
カラフルゴーストバスターズの演出「バルーン」
海さんぽ演出「波」
海さんぽ演出「サメ」
海さんぽ演出「サカナが寄ってくる」
海さんぽ演出「光道と動画再生」
海さんぽ演出「メッセージボトル」

GitHubの使い方