SlideShare a Scribd company logo
1 of 31
Github を使ってみる

  twitter@tikitikipoo
1. Git の役割
2. Github を使う
 2−1. Github でバージョン管理
 2−2. Github のコマンドの意味
 2−3.記録したいものをリクエストする
 2−4.記録する
 2−5.変更を見る
 2−6.履歴を見る
3.もっと使えるようになるには
1. Git の役割

バージョン管理システム
≒ 変更履歴を記録すること
バージョン管理システムがやることは
大体4つの役割と考えて

1.変更履歴を調べる

2.「どうして変更したのか」と「誰が」を記録する

3.以前の状態に戻る

4.ディレクトリ構造をそのまま記録する
■ 変更履歴を調べる

上の例は 1.0 から 1.1 に変更されたことを表している。
■ 誰が: tikitikipoo
■ なぜ:写真問題対応、文字参照コード対応、…
2. Github の使い方
これを覚えて帰って

一人で Github を使うにはこれだけ覚えれば使える

$ git add
$ git commit
$ git status
$ git diff
$ git push origin master
2−1. Github でバージョン管理

Github に行ってプロジェクトを作成する


リポジトリ:プロジェクトを記録するデータベースのこと
2−2. Github のコマンドの意味
2−2. Github のコマンドの意味



ファイルを記録するにあたって「誰が」記録したかを設定す
る。
2−2. Github コマンドの意味




mkdir git_test1 は「 git_test1 」ディレクトリを作成

cd git_test1 は git_test1 ディレクトリに移動
2−2. Github のコマンドの意味



$ git init  ← git のすべての始まり
バージョン管理をしていきますと宣言するコマンド
コマンドを実行したディレクトリ以下が管理対象になる

$ touch README は README というファイルを作成
2−2. Github のコマンドの意味



$ git add README

Git のバージョン管理に記録したいものをリクエストする

git add しなかったらバージョン管理に登録されない
2−2. Github のコマンドの意味



$ git commit README

Git のバージョン管理に記録したいものを記録する。これで晴
れてバージョン管理対象となる。

「 -m 」はメッセージを1行で追加しますというオプションコ
マンド。
ある時点でのプロジェクトの状態を記録したものを、リビジョンと呼んで、
「コミットする」という言葉は前のリビジョンに基づいて、変更を加えた新し
いリビジョンを作るという意味
2−2. Github のコマンドの意味



$ git remote add origin git@github.com:tikitikipoo/git_test1.git

リモートサーバに origin ていうあだ名をつけますよ。
リモートサーバは github.com の tikitikipoo/git_test1.git ディレ
クトリを指しますよ。
git@ は git ユーザでログインしますよ。

とにかくここでの意訳は
リモートサーバの URL に origin というあだなをつけただけ。
別に origin でなくてもよい。なんだったらつけなくてもよ
い。
2−2. Github のコマンドの意味



$ git push -u origin master

push = アップロード
origin = リモートのサーバ名(登録してなかったらさっきの
git@github~ を書くことになる)
master = デフォルトの格納領域

意訳は
ローカルのコードを、 origin というリモートサーバに対して
アップロードして。指定する格納領域は master で。
2−2.まとめ
とにかく
$ git add .
$ git commit . -m ' コミットした内容を入力 '
$ git push origin master
でファイルがバージョン管理されていく 。
2−3.記録したいものリクエストする
$ git add < ファイルまたはディレクトリ >

状態の記録をリクエストする
2−4.記録する
$ git commit < ファイルまたはディレクトリ >
2−3、2−4まとめ
               $ git add .        $ git commit .




ワークツリー=作業場             インデックス               リポジトリ



             $ git reset <path>   $ git reset HEAD^
2−5.変更を見る

$ git status ファイルまたはディレクトリまたは指定なし

ワークツリーの状態とインデックスの状態を出力
2−5.変更を見る - status
ワークツリーでの変更≒インデックスでまだ管理していない

# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# about.html

Untracked
まだ Git は管理しませんよ
2−5.変更を見る - status
インデックスで管理

# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: about.html
#

Changes to be committed
記録したいものをリクエストした状態
コミットすれば管理されるよ
2−5.変更を見る - status
Git で管理されてるけどリポジトリの情報と違う

# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working
directory)
#
# modified: about.html

Changed but not updated:
変更されているけど、記録したいってリクエストしてないよ
2−5.変更を見る - diff

$ git diff ファイルまたはディレクトリ

どのように変更したかをユニファイド形式の diff で出力され
る。
この形式のファイルはパッチ( patch )と呼ばれる
2−5.変更を見る - diff
diff --git a/about.html b/about.html
index 6747c3f..09c5951 100644
--- a/about.html
+++ b/about.html
@@ -6,7 +6,7 @@
 </head>
 <body>
    <div id="header">
-       <h1></h1>
+       <h1>tikitikipoo</h1>
    </div>
    <div id"content"></div>
    <div id="footer"></div>



・ヘッダーに about.html に関するパッチであることを表すヘッダ情報
・ @@ ~ @@ はーは変更前の先頭行番号と行数。+は変更後の以下略
・インデントされたファイル内容の抜粋。
・ー(マイナス記号)変更前の内容
・+(プラス記号)変更後の内容
・
2−5.変更を見る
                 $ git add .          $ git commit .

  $ git diff .           $ git diff --cached
                         $ git diff HEAD




ワークツリー=作業場               インデックス                 リポジトリ



             $ git reset <path>         $ git reset HEAD^
                                        $ git reset HEAD~x
2−6.履歴を見る

$ gitk

GUI 環境が使えれば変更履歴を表示

$ git log - 数字 -p

数字分パッチ形式でコミットを表示

Github の履歴見るのもよし
まとめ
一人で Github 使うにあたっては以下のものを覚えてれば大体
なんとかなる
$ git add
$ git commit
$ git status
$ git diff
$ git push origin master

おまけ
$ git init (最初だけしか使わない)
$ gitk
$ git rm < ファイルまたはディレクトリ >
3.もっと使えるようになるには

     対象:だれでも
     自分が読んだ感想として



     対象:入門者
     目次と amazon のレビューか
     ら
     いいんじゃないかなと思った

     対象:中級者から
     自分のプログラマ仲間が神本
     だと言っていた

More Related Content

Similar to Githubことはじめ

猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座
Yusei Yamanaka
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
Takashi Imagire
 

Similar to Githubことはじめ (20)

猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座
 
はじめてのGit
はじめてのGitはじめてのGit
はじめてのGit
 
Git 勉強会
Git 勉強会Git 勉強会
Git 勉強会
 
Gitの紹介
Gitの紹介Gitの紹介
Gitの紹介
 
Git (実践入門編)
Git (実践入門編)Git (実践入門編)
Git (実践入門編)
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
Git 入門
Git 入門Git 入門
Git 入門
 
Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回
 
ソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHub
 
Git 仕組み 入門
Git 仕組み 入門Git 仕組み 入門
Git 仕組み 入門
 
Gitを使ってみませんか
Gitを使ってみませんかGitを使ってみませんか
Gitを使ってみませんか
 
git-webtouchmeeting
git-webtouchmeetinggit-webtouchmeeting
git-webtouchmeeting
 
Git講習会
Git講習会Git講習会
Git講習会
 
Gitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめGitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめ
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git
 
Git
GitGit
Git
 
Git
GitGit
Git
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座
 
今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
 

Recently uploaded

Recently uploaded (10)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Githubことはじめ

Editor's Notes

  1. https://github.com/tikitikipoo/POTI/network https://github.com/tikitikipoo/POTI/commit/4c7c31debe013fc0cf98eeb283cddf9da731ea95
  2. html:5 (#header&gt;h1) +#content+#footer
  3. git log --pretty-short=&apos;h1&apos;