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

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

Más contenido relacionado

Similar a 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講座貴一 末田
 

Similar a 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編
 

Último

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Último (9)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

Githubことはじめ

Notas del editor

  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;