SlideShare une entreprise Scribd logo
1  sur  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 のレビューか
     ら
     いいんじゃないかなと思った

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

Contenu connexe

Similaire à Githubことはじめ

猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座Yusei Yamanaka
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門Takashi Imagire
 
Git 入門
Git 入門Git 入門
Git 入門y-uti
 
Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回kinme modoki
 
ソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubToru Tamaki
 
Gitを使ってみませんか
Gitを使ってみませんかGitを使ってみませんか
Gitを使ってみませんかAtsuhiro Takiguchi
 
Git講習会
Git講習会Git講習会
Git講習会galluda
 
Gitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめGitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめNatsumi Kashiwa
 
実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る GitYouhei Nitta
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座貴一 末田
 

Similaire à 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編
 

Dernier

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Dernier (7)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

Githubことはじめ

Notes de l'éditeur

  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;