SlideShare a Scribd company logo
Git 入門 実践編
<htmlday> in Tokushima
Presented by か (@ka_)
実践してみよう
●
まずは一人で開発する想定で使う
●
過去の自分は他人
– 十分役立つ
●
他人 ( 他の PC) との連携は考えない
– リモートという概念を考えない
リポジトリを作成 (Windows)
●
何処かに好きな名前でディレクトリ作成
– “git-test-win” がいいかも
●
ディレクトリ上で右クリック
– Git Create repository here...
●
これでディレクトリはリポジトリになった
●
.git というディレクトリが出来るはず
– これがリポジトリとしての実体
リポジトリを作成 (Windows)
●
Make it Bare はチェックしない
リポジトリを作成 (Mac)
●
SourceTree で作成
– SourceTree を開く
– 新規作成アイコンクリック
●
名前は何でもいい
– “git-test-mac” がいいかも
リポジトリを作成 (Mac)
リポジトリ作成 (Mac)
スクリーンショットは git-test-0 になってます
ごめんなさい
リポジトリを作成 (CUI)
● “mkdir git-test”
● “cd git-test”
● “git init”
●
おわり!かんたん! ( 説明が )
Author 設定
●
コミットにはそれを作った人情報が付随する
●
名前とメールアドレス
● Windows
– TortoiseGit > Settings > Git
● Mac
– SourceTree のインストール時に終了している
Author 設定
テキストファイル作成
●
“sample.txt” というファイルを作る
●
“a” という文字だけの行を追加
●
お好きなテキストエディタでどうぞ
リポジトリの様子 (Windows)
コミットする
●
コミットを作ることをコミットするとも言う
● Windows
– Git Commit → “master”
● Mac
– Files in working tree という所から
– Files staged in the index という所へ移動
– Commit
コミットコメント
●
コミットにはメタ情報として説明を残す
●
以下のような慣例がある
– 1 行目 : 概要 ( 無いと辛い )
– 2 行目 : 空行
– 3 行目以降 : 詳細 ( 無くても OK)
コミット作成の様子 (Windows)
コミット作成の様子 (Mac)
コミット後のリポジトリ
(Windows)
コミット後のリポジトリ (Mac)
ログを見る
●
リビジョングラフを見ること
● Windows
– 右クリック > TortoiseGit > Show log
● Mac
– そのまま表示されているはず
ログ (Mac)
コミットをどんどんしていく
●
“sample.txt” を編集する
– “b” を追加してコミット
– “c” を追加してコミット
“b” を追加 (Windows)
“b” を追加後 (Windows)
“b” を追加したコミット作成 (Win)
コミットによる差分表示
●
ファイルを選択して右クリック > Diff
“b” を追加したコミット作成 (Mac)
●
差分が見える
コミットはたくさん作ろう
●
粒度の塩梅は経験によるとしか言えない
●
二つの基準 ( 例 )
– どのコミットでもエラーが出ない
– コミットコメントが短く書ける
コミットがある安心感
●
いつでも好きなコミットに戻れる
– 戻り方はブランチの説明と併せて行う
●
コミットごとの全て変更が分かる
– いつ
– 誰が
– 何を
複数ファイルを管理
●
“sample2.txt” を作る
●
“z” という文字だけの行を追加
●
同様にコミットする
ログ (Windows)
ブランチを作る
●
新機能を試したい
●
ブランチを作って本流を汚さないようにする
●
ブランチには名前を付ける
– “b-0” という名前に今回はします
●
“master” というブランチを今は操作していた
ブランチの作り方
● Windows
– 右クリック > TortoiseGit > Create Branch
● Mac
– Branch > New Branch
– Check out new branch のチェックを確認
ブランチの作り方 (Windows)
ブランチが出来た (Windows)
ブランチの作り方 (Mac)
チェックアウトする
● Windows
– 右クリック > TortoiseGit > Switch/Checkout
● Mac
– ブランチ作成時に自動でチェックアウト
– 手動
●
左の BRANCHES から選んで右クリック
● Checkout b-0
チェックアウト (Windows)
チェックアウト完了 (Windows)
コミットを作っていく
●
“sample.txt” を編集
– “e, f, g” を各行に追加
– コミット
●
“sample2.txt” を編集
– “y, z” を各行に追加
– コミット
ログを確認
●
“b-0” がコミットを重ねていることが分かる
●
“master” は動いていない
ログ (Windows)
戻る方法について
●
“reset” という機能で戻れる
●
新しいブランチを作って行う
– 不用意に既存のブランチで行うと損失が起こる
– チェックアウトを忘れない
●
“hard” 形式が最も単純
– … であると思う
– その他の形式についての説明は省略
マージする
●
“b-0” 「を」マージする
●
“master” 「に」マージする
●
Non Fast Forward 方式にする
マージの手順 1
●
“master” にまずはチェックアウト
●
“b-0” をマージする
●
“non fast forward” にチェックを入れる
マージの手順 2
● Windows
– “master” にチェックアウト
– ログを表示
– “b-0” を右クリック
– “merge to “master”” を選択
– “non fast forward” をチェック
まずはチェックアウト (Windows)
マージ (Windows)
●
No FastForward にチェック
マージ完了 (Windows)
マージの手順 3
● Mac
– “master” にチェックアウト
– Merge をクリック
– “b-0” を選択
– Create a commit even if … をチェック
過去の変更を取り消す
●
Revert という機能を使う
●
まずは敢えて間違えたコミットを作る
●
その後いくつかコミットを重ねる
●
それを無かったことにしてみる
実験準備
●
“sample.txt” を編集
– “i” という行を追加 ( 本来は h のはずですね )
– コミット
●
“sample2.txt” を編集
– 2 つほどコミットを作ってみる
●
“w, v” を追加してみるなど
準備完了 (Windows)
あ!しまった! ( 棒読み )
●
2 つも前のコミットが間違えています
– 別に 200 個前でもいい
●
今更そこまで戻るわけにもいかない
コミットを打ち消すコミット
●
その気になれば
– ブランチを作る
– 3 つ前まで戻る
– やり直す
●
本流 (master) はそう簡単には変えられない
●
コミットを打ち消すコミットを作ればいい
Revert
● Windows
– ログを表示
– 打ち消したいコミットで右クリック
– Revert change by this commit
● Mac
– 打ち消したいコミットで右クリック
– Rever commit
Revert (Windows)
Revert 完了 (Windows)
他にも方法はあります
●
この程度なら手動でもいい
●
“cherry-pick” が使えなくもない
– 本来の用途っぽく無いけど
●
“rebase” という最強の過去改変手段
– 世界線が移動します
– これも本来の用途っぽく無いけど
●
そもそも master ばかり弄ってはいけない
色々実験しましょう
●
リポジトリのディレクトリをコピー
●
リポジトリのバックアップになる
●
バックアップからやり直せる

More Related Content

ODP
20130608 git-0
DOCX
Sermão às Hienas
PPTX
マンガカイボウガク
PPTX
第0回徳島スマホアプリ開発勉強会
PPTX
地域の最先端「上勝・神山」の秘密。
PDF
徳島県とアジャイル
ODP
20130608 git-3
ODP
20130706 git
20130608 git-0
Sermão às Hienas
マンガカイボウガク
第0回徳島スマホアプリ開発勉強会
地域の最先端「上勝・神山」の秘密。
徳島県とアジャイル
20130608 git-3
20130706 git

Viewers also liked (6)

PPTX
地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり
PPTX
Sansan における Android アプリ自動テスト導入事例
PDF
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
PDF
絶対に描いてはいけないグラフ入りスライド24枚
PDF
見やすいプレゼン資料の作り方 - リニューアル増量版
PDF
You Are Not As Rational As You Think
地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり
Sansan における Android アプリ自動テスト導入事例
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
絶対に描いてはいけないグラフ入りスライド24枚
見やすいプレゼン資料の作り方 - リニューアル増量版
You Are Not As Rational As You Think
Ad

Similar to 20130608 git-1 (20)

PDF
Python for Data Analysis第1回勉強会(+git入門)
PDF
Git勉強会 2016 Gitで卒論を管理しよう回
PPTX
Git勉強会
PDF
15分でわかるGit入門
KEY
Git (実践入門編)
PPTX
いいこんぶGitマニュアル
PDF
Git勉強会
KEY
20120324 git training
PDF
Gitを使ってみよう
PPTX
第1回Git勉強会
PDF
Gitのよく使うコマンド
PPTX
Git svnではじめる忍者のごとく潜むgit
PDF
ノンプログラマのGit入門
PPTX
Git 勉強会
PDF
Gitとちょっと仲良くなるために覚えたことまとめ
PPTX
今さら聞けない人のためのgit超入門
PDF
はじめてのGit #gitkyoto
PDF
Git-dojo In Sendagaya.rb
PDF
Git overview (v 0.96)
PDF
Version Control System Tutorial バージョン管理システムチュートリアル
Python for Data Analysis第1回勉強会(+git入門)
Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会
15分でわかるGit入門
Git (実践入門編)
いいこんぶGitマニュアル
Git勉強会
20120324 git training
Gitを使ってみよう
第1回Git勉強会
Gitのよく使うコマンド
Git svnではじめる忍者のごとく潜むgit
ノンプログラマのGit入門
Git 勉強会
Gitとちょっと仲良くなるために覚えたことまとめ
今さら聞けない人のためのgit超入門
はじめてのGit #gitkyoto
Git-dojo In Sendagaya.rb
Git overview (v 0.96)
Version Control System Tutorial バージョン管理システムチュートリアル
Ad

20130608 git-1