SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
30分でサボれるGit
技術開発G   木村 健
はじめに
• この資料は次の方に効能があります
• Gitを知ってることにしたい技術者各位w
• Gitを使いたくないけど使わないとおこられる
各位w
2
この資料のカバーする範囲
• Gitの簡単な使い方
• =最小限のコマンド運用
• rebaseなどの内容については
触れない
• branch切れるくらいのところ
まで
3
Gitを使いこなすためのヒント
• よくGitを知っている人を見つけて手なづけておこ
う(困った時に くためw)
• gitコマンド実行したときに英語のメッセージが出る
ことがあります。無視してはいけません
• Google先生やGoogle翻訳先生に聞いてください。
ヒントが必ずあります。というか、gitコマンドが
困ってメッセージを出してるケースがほとんどで
す
4
前提条件
• コマンドラインベースの資料になります

コマンドラインツールは以下から入手可能
• Windows: https://msysgit.github.io/
• Mac: git コマンド(brew あたりでさくっと)
• おそらくSourceTree使うときにも参考になると
思います(つこたことないけど。。。)
5
推薦書籍
• 「アリスとボブのGit入門レッスン」川野辺正博
著 秀和システム
• (ごめん、この本読んで資料作ったw)
6
準備編
• BitBucketあたりで新しいリポジトリが既にある
前提で話を進めます
• リポジトリは権限があればWeb UIでさくっと作
れますので省略
7
公開するとき必要な
ファイルなど
• readme.md
• mark down形式のreadme
• 使い方などを書く
• LICENSE
• ライセンスファイル。配布するときは書く
• GitHubならライセンスをプルダウンから選ぶだけで一発
でライセンスファイルを作ってくれるので るw
8
SVNとの違い
• ローカルとリモートの二つのリポジトリがあります
• ローカルの修正はcommitで
• ローカル→リモートはpushコマンドで
• リモート→ローカルはpullコマンドで
• 番号ではなくハッシュ(SHA1)で管理します
• リビジョンはtagを切ってください
• branchはそういうフォルダがリポジトリ内にできるのではなく、
branchコマンドで切り替える流儀です
9
gitコマンド使えますか?
• まずは git help と打ち込んで、何か出るところ
まで、頑張ってください(何をだw)
• GitHubなどの場合、公開 が必要になります。
これも他のドキュメントで頑張ってください
• まぁあの、使ってる人がいればこの辺は聞けば
いいと思うの
10
メアド設定
• gitの設定をします
• git config ̶global user.name Ayanokoji
• git config ̶global user.email a@b.c
• あ、ユーザー名はてきとーで
• メアドは自分のメアドを入れてね♡
11
とりあえずgitで
• リモートリポジトリの取得
• git clone URL
• URLはgit/https/sshなどがあります
• gitは高速です
• httpsはgit通さないときに使うと便利ですが、みんなhttpsを
使ってる予感がしますw
• 例:git clone https://kimrin@bitbucket.org/kimrin/unko.git
• プライベートな場合パスワード いてきます。入力してください
12
[重要]回し方
1. git pull
1.1.変更をリモートから貰います
2. git add .
2.1.まずは作ったファイルをaddします

(.はカレント以下変更のあるファイル全部)
3. git commit -m 心がぴょんぴょんするんじゃーw
3.1.コミットします(ローカルに)
4. git push
4.1.リモートリポジトリにうpします
13
‒木村健 (∼2015)
以上
14
ってのは嘘ですがw
• インデックスとローカルリポジトリ、リモートリポジトリとい
う三つの仮想空間を意識しながらgitで操作してください
• インデックス:addでまな板に寿司を乗っけるイメージ

 乗っけることをステージングと言います

 これからcommitするものをここに
• ローカルリポジトリ:実際の変更がローカルに反映される場所
• リモートリポジトリ:BitBucketのサーバーに置かれる最終的
な成果物
15
コンフリクト(衝突)
• gitの操作系コマンドを実行すると、コンフリク
トが起こることがあります
• 基本、gitに詳しい人(前述)に聞きましょう
(ぉぃ
• というかSVNみたいに自分とotherが分かれてファ
イルに書かれるので、どちらかを選んでから、
commitしましょー
16
gitのその日暮らし
コマンド編
• git add
• git reset
• git status
• git commit
• git log
• git push
• git pull
17
git add
• [操作コマンド] 作業フォルダ → インデックス
• git add .
• この場合はカレント以下変更のあるファイル全部がインデックスに入る
• 具体的にはファイルをgit add filenameのように指定して使う。
• .gitignoreというファイルをリポのトップに作って、コミットしないファイル
群を挙げておくと吉
• 消したファイルも変更として計上したい場合は、

git add ̶all .

などとして、消したことをインデックスに知らせる。そうしないと消えたこ
とがわからずリポに残る
18
git reset
• [操作コマンド] インデックス→ 作業フォルダ
• git reset  HEAD
• コミットを指定する。HEAD は一つ前のコミット
• 特定のファイルをインデックスからワークフォル
ダに戻す
• つまりaddの逆
19
git status
• [無害コマンド] 現在のファイル状態を見る
• カレントフォルダのファイルについて、現在インデックスに上がっているか、まだ
ステージング(インデックスに上げること)をしてないかが表示される
• バージョン管理下に置きたいけどまだuntrackedなファイルについてはaddして管
理下に置く
• modified=変更があった
• new file=新しく管理下に入った
• deleted=消えた
• rmでファイルを消してしまったときは、そのファイルもaddする。ファイル名を指
定するのがめんどいときは git add ̶all . のようにする
20
git commit
• [操作コマンド]差分をローカルリポジトリにコミットし
ます
• ローカルリポジトリへのsvn commitみたいな感じです
• 通常はgit commit -m コメント のように使います。
• windowsの場合は2バイト文字が使えないかもしれませ
ん。すみません、エディタを指定するなどして凌いでく
ださい。。。
21
git log
• [無害コマンド] 主にcommitした履歴を表示する
のに使います
• git log
• git showというコマンドもありますが、これに
ついてはman git-showでご確認ください
22
git push
• [操作コマンド:取り扱い注意!] ローカルリポ
ジトリの変更をリモートリポジトリに反映しま
す
• これがsvn commitに近いです。なのでチーム開
発のときはこのコマンドを打つ前に一度、入れ
るものを確認してください!
23
git pull
• [操作コマンド] リモートの変更をローカルに反映
• git pull
• 実はgit fetchとgit mergeをやってます。merge操
作が行われるので、pullに失敗することもあります
• その時はgit stashするか、ファイルをこぴってお
いてgit statusで差分が出ないようにしてから、
pullします
24
git checkout
• [操作コマンド:取り扱い注意!] 主にbranchを
取り出すときに使います
• git checkout mybranch
• 上書きする系のコマンドなので注意してくだし
あ
25
gut branch
• ブランチを作成します
• git branchでブランチ一覧を取得できます
• git branch xxx でxxxというブランチを作成し
ます
• そのブランチをgit checkout xxxという感じに
checkoutして変更します
26
その他
• git checkout -- file
• インデックスする前のファイルを元に戻せま
す
• git reset HEAD -- file
• インデックスした後のファイルを元に戻せま
す
27
• git rm file
• 削除します
• git mv file1 file2
• リネームします
28
• git diff
• コミットする差分の表示
• git tag TAGNAME
• タグを切ります
• gitkコマンド:差分のグラフィカルな表示
29
記号類、表記
• コミットには一意なSHA1ハッシュ(40bytes)が
つけられます。指定するときは上位の7bytesを16
進数で指定可能です。git logに表示されます
• HEAD 1が最新の一つ前のコミットです

HEAD 10が10個前のコミットです
• HEAD^1が一つ前の親コミットです
• 詳しくはman gitrevisionsしてね♡
30
‒anonymous
The more we learn,

the more we confuse.
31

Mais conteúdo relacionado

Mais procurados

RubyKaigi2011の雰囲気
RubyKaigi2011の雰囲気RubyKaigi2011の雰囲気
RubyKaigi2011の雰囲気Sea Mountain
 
Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Tadahiro Ishisaka
 
ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級Kouji Matsui
 
Git 10min
Git 10minGit 10min
Git 10mingon6109
 
2ヶ月前にgitを始めた私からこれから始める皆さんへ
2ヶ月前にgitを始めた私からこれから始める皆さんへ2ヶ月前にgitを始めた私からこれから始める皆さんへ
2ヶ月前にgitを始めた私からこれから始める皆さんへAyana Yokota
 
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用Reimi Kuramochi Chiba
 
SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南Kouji Matsui
 
私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみShihomi Katayama
 
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスRyo Sumasu
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?Kiyotaka Kunihira
 
プログラミング超超超入門
プログラミング超超超入門プログラミング超超超入門
プログラミング超超超入門rigibun
 
テーマ別Git tips
テーマ別Git tipsテーマ別Git tips
テーマ別Git tipsIkuo Degawa
 
超ざっくりとGitについて学ぶ
超ざっくりとGitについて学ぶ超ざっくりとGitについて学ぶ
超ざっくりとGitについて学ぶtomori
 
はじめようGit
はじめようGitはじめようGit
はじめようGittechscore
 
電通大でgentooinstallbattleをやろう
電通大でgentooinstallbattleをやろう電通大でgentooinstallbattleをやろう
電通大でgentooinstallbattleをやろうTakuma Nakajima
 
Introduction git
Introduction gitIntroduction git
Introduction gitMisa Kondo
 

Mais procurados (20)

今更GWTで遊ぶぜ!
今更GWTで遊ぶぜ!今更GWTで遊ぶぜ!
今更GWTで遊ぶぜ!
 
RubyKaigi2011の雰囲気
RubyKaigi2011の雰囲気RubyKaigi2011の雰囲気
RubyKaigi2011の雰囲気
 
Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)
 
ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級
 
Git 10min
Git 10minGit 10min
Git 10min
 
2ヶ月前にgitを始めた私からこれから始める皆さんへ
2ヶ月前にgitを始めた私からこれから始める皆さんへ2ヶ月前にgitを始めた私からこれから始める皆さんへ
2ヶ月前にgitを始めた私からこれから始める皆さんへ
 
あなたもなれる!Linaroコミッターへの道
あなたもなれる!Linaroコミッターへの道あなたもなれる!Linaroコミッターへの道
あなたもなれる!Linaroコミッターへの道
 
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用
 
SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南
 
私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ
 
gitを1から学ぼう!
gitを1から学ぼう!gitを1から学ぼう!
gitを1から学ぼう!
 
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティス
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
 
プログラミング超超超入門
プログラミング超超超入門プログラミング超超超入門
プログラミング超超超入門
 
テーマ別Git tips
テーマ別Git tipsテーマ別Git tips
テーマ別Git tips
 
超ざっくりとGitについて学ぶ
超ざっくりとGitについて学ぶ超ざっくりとGitについて学ぶ
超ざっくりとGitについて学ぶ
 
はじめようGit
はじめようGitはじめようGit
はじめようGit
 
電通大でgentooinstallbattleをやろう
電通大でgentooinstallbattleをやろう電通大でgentooinstallbattleをやろう
電通大でgentooinstallbattleをやろう
 
Introduction git
Introduction gitIntroduction git
Introduction git
 

Semelhante a 30分でサボれるGit

Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Makoto Kawano
 
今日から始めるGithub
今日から始めるGithub今日から始めるGithub
今日から始めるGithublion-man
 
超初心者のためのGitマニュアル
超初心者のためのGitマニュアル超初心者のためのGitマニュアル
超初心者のためのGitマニュアルMasakiKato14
 
GitHub勉強会~当日資料~
GitHub勉強会~当日資料~GitHub勉強会~当日資料~
GitHub勉強会~当日資料~Shintaro Mizuno
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!ymmt
 
はじめてのGit #gitkyoto
はじめてのGit #gitkyotoはじめてのGit #gitkyoto
はじめてのGit #gitkyotoHisateru Tanaka
 
GameJamでGithubを使おう
GameJamでGithubを使おうGameJamでGithubを使おう
GameJamでGithubを使おうRyouta Morita
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座貴一 末田
 
Githubサービスについて
GithubサービスについてGithubサービスについて
GithubサービスについてAkura Pi
 
ちょっと丁寧にgitを説明する
ちょっと丁寧にgitを説明するちょっと丁寧にgitを説明する
ちょっと丁寧にgitを説明するTaichiro Ogawa
 
Gitを使いこなしてみよう!
Gitを使いこなしてみよう!Gitを使いこなしてみよう!
Gitを使いこなしてみよう!Hiroshi Maekawa
 
底辺webプログラマが今更git語ってみた
底辺webプログラマが今更git語ってみた底辺webプログラマが今更git語ってみた
底辺webプログラマが今更git語ってみたYudai Fujita
 
10+1 Things you should know about JavaScript testing
10+1 Things you should know about JavaScript testing10+1 Things you should know about JavaScript testing
10+1 Things you should know about JavaScript testingTakuto Wada
 

Semelhante a 30分でサボれるGit (20)

Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)
 
今日から始めるGithub
今日から始めるGithub今日から始めるGithub
今日から始めるGithub
 
01.app
01.app01.app
01.app
 
超初心者のためのGitマニュアル
超初心者のためのGitマニュアル超初心者のためのGitマニュアル
超初心者のためのGitマニュアル
 
About git
About gitAbout git
About git
 
GitHub勉強会~当日資料~
GitHub勉強会~当日資料~GitHub勉強会~当日資料~
GitHub勉強会~当日資料~
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
はじめてのGit #gitkyoto
はじめてのGit #gitkyotoはじめてのGit #gitkyoto
はじめてのGit #gitkyoto
 
Git @ NNCT programming workshop
Git @ NNCT programming workshopGit @ NNCT programming workshop
Git @ NNCT programming workshop
 
GameJamでGithubを使おう
GameJamでGithubを使おうGameJamでGithubを使おう
GameJamでGithubを使おう
 
Git超入門
Git超入門Git超入門
Git超入門
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座
 
Git勉強会
Git勉強会Git勉強会
Git勉強会
 
Githubサービスについて
GithubサービスについてGithubサービスについて
Githubサービスについて
 
Yapc2012資料
Yapc2012資料Yapc2012資料
Yapc2012資料
 
今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
 
ちょっと丁寧にgitを説明する
ちょっと丁寧にgitを説明するちょっと丁寧にgitを説明する
ちょっと丁寧にgitを説明する
 
Gitを使いこなしてみよう!
Gitを使いこなしてみよう!Gitを使いこなしてみよう!
Gitを使いこなしてみよう!
 
底辺webプログラマが今更git語ってみた
底辺webプログラマが今更git語ってみた底辺webプログラマが今更git語ってみた
底辺webプログラマが今更git語ってみた
 
10+1 Things you should know about JavaScript testing
10+1 Things you should know about JavaScript testing10+1 Things you should know about JavaScript testing
10+1 Things you should know about JavaScript testing
 

30分でサボれるGit