SlideShare a Scribd company logo
Git入門
 2012/7/28
Hiroki Kouchi
本スライドの概要

初心者向けの内容

 Gitとはなんぞや

 実際にコマンド叩くとどうなるの

 必須な操作/覚えておきたい操作

などなどをお話します。
対象者

Gitを覚えたい人/使ってみたい人

Subversionならわかるって人

コマンド覚えたい人

Github使ってみたい人
まずは自己紹介
name : Hiroki Kouchi

age : 26 => 社会人4年目

Twitter : @_hkouchi
(最近変更しました)

work : iOS App Developer

hobby : Development => (iOS, Android, Web)
では本編へ
Gitとはなんぞや

分散バージョン管理システム

Linuxの中の人が開発

 Linuxカーネルのソースコード管理を
 目的として開発されたらしい
 (By Wikipedia先生)
分散型と集中型

集中型バージョン管理システム

 Subversionとか(他を知らない。。。)

 中枢となるリポジトリに各々がアクセス

 リポジトリが壊れると大変な事に
分散型と集中型
分散型バージョン管理システム

 Gitとか、Mercurialとか(よく知らない)

 ローカルにリポジトリが設置できる

 サーバーにもリポジトリが設置できる

 リポジトリ同士でマージをしながら
 開発を行なっていくイメージ
私のGitの印象

難しい
→さらっと見ただけで理解できなくて放置

GUIならなんとかなるんじゃね
→GUI全然   ってない

コマンド多すぎ/知らない単語多すぎ
私のGitの印象

GUIはあることにはある
(Macだと心配ないんだが・・・)

 Mac => SourceTree最強

 Windows => Tortoise gitあたりが妥当?

 EclipseのプラグインでEgitなんてのも
致命的だと感じてた部分

学習コストが高い

 現場でもGit使えない人が多い...

  そもそも使ってない現場が多いのでは

 Subversionと違って考え方が複雑

 どのコマンドで何が起きるのか
確かに難しいけど、
  学習コスト以上の
メリットがあるんです!
Gitの特徴

ローカルでも使える

プロトタイプ作成が簡単

リビジョン?なにそれおいしいの?

 Subversionはリビジョン単位で管理、
 Gitはコミット単位で管理。
Gitの特徴

コミットするファイルを指定できる
→コミットしたくないファイルは無視できる

履歴を自由に   る事が可能。

履歴を変更してしまう事も可能。

間違ってコミットしても取り消し可能。
圧倒的ではないか、
  我が軍は!
難しく考えなくてOK

チームで運用しても結局のところ・・・

 ファイルを編集する

 変更点をアップする

 他のメンバーは変更を落としてくるだけ
以上。
すいませんでした。

以下の2つを使いながら
説明していくことにしましょう。

 Terminal
  - コマンドを実行してみて覚えよう!

 SourceTree
  - GUIは結果確認には最適!
本日のゴール

ひとまずの目標はGithubへのアップ

 Githubは1人でも使える(無料)

 OSSの宝庫なので知っておくと便利

何となくの使い方として参考にどうぞ
では順番に
見ていきましょう
init

git init で初期化

  .gitというディレクトリが作成される
  中身は特に意識する必要はなし
  プロジェクトの直下で実行する

初期化後はgitコマンドでよしなに
commit

hoge.txtを編集する

git add hoge.txt # indexへ追加

  indexに追加されたファイルは
  commit対象となる

git commit hoge.txt
git add -A

  変更を全てindexに追加する


git commit -m “comment”

  引数にコメントがつけれる
  なくてもコメントはつけられます
remote
git remote add origin git://xxxx/hoge.git

  サーバーにあるgitリポジトリを登録する

  git:/ の場合も https:/ の場合もある
       /...         /...

  originって名前は規則ではない
  originは暗黙の了解になってるだけ
  (だったはず。。。)
pull

git pull

origin (remote) から変更を取得してmerge
→svn updateみたいなコマンド

似たようなコマンド→git fetch
変更を取得するが、mergeしない
clone
URLからソースコードを落とす場合に使用

svn checkout と同じようなコマンド

cloneした場合、
remoteが登録されている状態になってる

git clone git://xxxx/hogehoge.git

https://xxxx/hogehoge.git
ってURLの場合もある
push

git push origin master

  remoteのリポジトリへ変更を送信

  他のbranchをpushすることも可能

  ex). git push origin dev-kouchi
以上!
これでGithubが使える!
Git tutorial
もうちょっとだけ

1人だとあまり必要ないけど、
チーム開発のときに以下の知識は必須です!

 branch => これは1人のときでも重要

 checkout

 merge
branch
ソースを枝分かれさせて、
別々に保存しておくことができる

git branch dev-kouchi #ブランチ作成

  defaultのブランチは master

  master <=> dev-kouchi間は、
  切り替えが可能

git branch #ブランチの一覧表示
checkout

branchの切り替えをコマンド

git checkout dev-kouchi #branchの切り替え

svn checkout ではないよ!
同じ単語でも意味が違うので注意されたし

git branch を実行するとbranchの一覧表示
HEAD

HEAD => 現在のbranchの事

HEAD^ => 現在のbranchの親

HEAD^^ => 現在のbranchの親の親

HEAD^^^...

主にcommitの取り消しや巻戻しのときに使用
remote:branch

リポジトリをpushしているわけなので、
remoteでも作成したbranchが保持される

git branch -r でリモートの確認ができる

 -a だとリモートもローカルも全部表示
branch がわかっていれば・・・

 git pull origin dev-kouchi

   dev-kouchiのみpull

   引数指定なしだと全部pullする
merge

(masterブランチを見てる場合)

git merge dev-kouchi

dev-kouchiの変更点をmasterに
反映させるのがmergeコマンド。

競合した場合の話はまた後程。
これだけ覚えれば十分!
他のコマンド

git reset #mergeの取り消し

git rebase #commitを1つずつ反映する

git stash #変更中ファイルを一時的に保存

git config #username, email, aliasの設定

git tag #tagの設定
個人でbranchを活用する

  新しい機能を追加するとき

  新しいライブラリ使ってみたいとき

  ちょっと違うUIで実装してみたいとき

 てな感じで、気軽に実験できるよ!
チームでの運用

私もどういう手法がいいのかは知りません!

何となく脳内にはあるけど、
実践したことがない・・・

 ↓非常にためになるので参考にどうぞ
 http://keijinsonyaban.blogspot.jp/2010/10/
 successful-git-branching-model.html
まとめ

今日覚えた事

 Gitとはなんぞや

 Gitの操作方法

 Githubへのpush方法
お疲れ様でした。

More Related Content

PDF
Git地図
PDF
git-webtouchmeeting
PDF
Git flowについてまとめてみた
PDF
Git勉強会 2016 Gitで卒論を管理しよう回
PDF
Git Flowを運用するために
PDF
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
PPT
Git紹介
PDF
WindowsでGitを使う際のベストプラクティス
Git地図
git-webtouchmeeting
Git flowについてまとめてみた
Git勉強会 2016 Gitで卒論を管理しよう回
Git Flowを運用するために
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
Git紹介
WindowsでGitを使う際のベストプラクティス

What's hot (20)

PPTX
Git flow概要紹介
PDF
やりなおせる Git 入門
PDF
Gitの使い方あれこれ
PPT
Gitの紹介
PDF
Gitコマンド勉強会 第0回 はじめに
PDF
Git flowの活用事例
PDF
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
PDF
15分でわかるGit入門
PPTX
2018 07-18 git-hub講座
PDF
大容量ファイルもGitで管理。 Git LFSの使い方
PDF
いつやるの?Git入門 v1.1.0
PDF
Git LFSを触ってみた
PDF
Git勉強会
PDF
gitを使って、レポジトリの一部抽出forkしてみました
PDF
GitHubで学ぶバージョン管理
PDF
猫にはわからないGit講座
PPTX
Build insider offline session チームでのgit
PPTX
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
PDF
git flowを使った開発フロー
PDF
ホームディレクトリに埋もれた便利なコードをさがせ!
Git flow概要紹介
やりなおせる Git 入門
Gitの使い方あれこれ
Gitの紹介
Gitコマンド勉強会 第0回 はじめに
Git flowの活用事例
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
15分でわかるGit入門
2018 07-18 git-hub講座
大容量ファイルもGitで管理。 Git LFSの使い方
いつやるの?Git入門 v1.1.0
Git LFSを触ってみた
Git勉強会
gitを使って、レポジトリの一部抽出forkしてみました
GitHubで学ぶバージョン管理
猫にはわからないGit講座
Build insider offline session チームでのgit
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
git flowを使った開発フロー
ホームディレクトリに埋もれた便利なコードをさがせ!
Ad

Viewers also liked (20)

PPT
Державна служба в Україні
PPTX
День заснування Луганської області
PPTX
Запобігання корупції в органах влади
PPTX
День Європи в Україні
PPTX
Cучасне діловодство та архівна справа
PDF
appcode_potatotips
PPTX
Запобігання та протидія корупції в Україні
PPTX
Storyboard
PPTX
Проблема имиджа в системе формирования корпоративной культуры
PDF
Cambodia's outlook brief for 2013 possibilities and policy priorities for s...
KEY
Googlemaps tutorial
PDF
Cambodia's outlook brief for 2013 possibilities and policy priorities for s...
PDF
Danish patients annette wandel 15 maj 2012 endelig
PPTX
Культура общения
ODP
ODP
Romeo and juliet
PPTX
Роль органів місцевого самоврядування у процесі євроінтеграції
ODP
Howard
DOC
PPSX
Сучасні тенденції формування кадрової політики України
Державна служба в Україні
День заснування Луганської області
Запобігання корупції в органах влади
День Європи в Україні
Cучасне діловодство та архівна справа
appcode_potatotips
Запобігання та протидія корупції в Україні
Storyboard
Проблема имиджа в системе формирования корпоративной культуры
Cambodia's outlook brief for 2013 possibilities and policy priorities for s...
Googlemaps tutorial
Cambodia's outlook brief for 2013 possibilities and policy priorities for s...
Danish patients annette wandel 15 maj 2012 endelig
Культура общения
Romeo and juliet
Роль органів місцевого самоврядування у процесі євроінтеграції
Howard
Сучасні тенденції формування кадрової політики України
Ad

Similar to Git tutorial (20)

KEY
一人でもはじめるGitでバージョン管理
KEY
Yapc2012資料
KEY
日本androidの会 中国支部 29回勉強会 github
PDF
Git&GitHub入門
PDF
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
PDF
社内勉強会用Gitのスライド#02
PDF
ノンプログラマのGit入門
PDF
Git -分散バージョン管理システム-
PDF
バージョン管理
PPTX
Git超入門
PPTX
githubハンズオン
PDF
20120125 チーム開発
PDF
20120125 チーム開発
PDF
Shizudev git hub宿題
PDF
VCS - Version Control System at Security and Programming camp 2011
PPTX
Git & GitHub & kintone でウルトラハッピー!
PDF
なるべく噛み砕いたGit基礎講習
PPTX
オープンセミナー香川2012 LT
PDF
20160730 fluentd meetup in matsue slide
PPTX
Gitのいろは
一人でもはじめるGitでバージョン管理
Yapc2012資料
日本androidの会 中国支部 29回勉強会 github
Git&GitHub入門
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
社内勉強会用Gitのスライド#02
ノンプログラマのGit入門
Git -分散バージョン管理システム-
バージョン管理
Git超入門
githubハンズオン
20120125 チーム開発
20120125 チーム開発
Shizudev git hub宿題
VCS - Version Control System at Security and Programming camp 2011
Git & GitHub & kintone でウルトラハッピー!
なるべく噛み砕いたGit基礎講習
オープンセミナー香川2012 LT
20160730 fluentd meetup in matsue slide
Gitのいろは

Git tutorial

Editor's Notes