SlideShare uma empresa Scribd logo
1 de 92
Baixar para ler offline
バージョン管理
所属  adingo(Fluctチーム)
Twitter @_zoo
名前  Misa Kondo
何故バージョン管理?
Webサービス
ここにいる人の大半はWebサービスと呼ば
れるものの製造に関係するはず。

Webサービスは、ペースの違いはあるけ
ど、日々改修を加えていく。

改修を加えていく中で必ずついて回るもの
がある。
バグ・障害
バグは必ず生まれるもの
基本的にバグとは生まれるもの。

テストをいくら入念にやろうと、どこかで生
まれてしまうもの。

と、考えていた方がよいです。
少なくとも5年間開発していて、バグがな
かったサービスはなかったです。
バグが出た!→修正します!
修正するのはもちろんだけど、現状、本番
で動いているものにバグがあるのはまず
い。

バグの重要度にもよるが、例えば、会員
登録制のサービスで、ログイン機能や会
員登録機能が使えないなんてありえない。
なので、流れとしてはこう

バグが出た!
↓
バグが生まれていなかった時
点までサービスを戻す
↓
バグが生まれていなかった時点
 、にきり戻さないといけない
例えば、あるWebサービスで
4月1日に春のキャンペーンのため、
いくつかのページデザインを変更。

GW前に新機能の追加をやることに。

ユーザに向けた新機能の追加告知を4月5
日にやり、リリース日は4月18日。
予定通り4月18日リリース完了
だがしかし
リリース後2時間、バグ発生。
バグが生まれていなかった時点
 、にきり戻さないといけない
バージョン管理していない場合
4月1日にリリースされたもの
                  latest

4月5日にリリースされたもの
                  latest

4月18日にリリースされたもの
                  latest
バグが生まれていなかった時点

      =
     ????
バージョン管理している場合
4月1日にリリースされたもの
            revision101

4月5日にリリースされたもの
            revision102

4月18日にリリースされたもの
            revision103
バグが生まれていなかった時点

        =
   revision102
Gitによるバージョン管理
  (分散バージョン管理)
Gitのインストール

 下記のサイトにいき、各自の環境にあわ
 せてインストールしてください。
 http://git-scm.com/
Gitの初期設定
# user.nameとuser.emailの設定
$ git config --global user.name "John Smith"
$ git config --global user.email "john@gmail.com"

# リポジトリ単位で設定する場合
$ cd repository_dir
$ git config user.name "janky"
$ git config user.email "janky@gmail.com"
Gitリポジトリの作成
# ディレクトリの作成
$ mkdir sample

# ディレクトリの移動
$ cd sample

# リポジトリの作成
$ git init
Initialized empty Git repository in〜
↑が出力されれば成功
ファイルの作成
# ファイルの作成
$ touch README.md

# ファイルの更新
$ emacs README.md
コマンドで確認
$ git status
# On branch master
# Initial commit
# Untracked files:
# (use "git add <file>..." to include in what will
be committed)
# README.md
nothing added to commit but untracked files
present (use "git add" to track)
現在の状況
新規のファイル
stageにあげる
 $ git add README.md
 $ git status
 # On branch master
 #
 # Initial commit
 #
 # Changes to be committed:
 # (use "git rm --cached <file>..." to unstage)
 # new file: README.md
現在の状況
ステージされている
Gitでの初コミット
 # コミット
 $ git commit -m 'コミットメッセージ'
 $ git status
 # On branch master
 nothing to commit (working directory clean)
 # 確認
 $ git log
現在の状況
コミットされている
ローカルにgitリポジトリを作成
$ git init

何かファイルを作成
$ touch README.md

ファイルをコミット
$ git add README.md
$ git commit -m 'first commit'
全員が終了したら終わり
複数人での開発
リモートリポジトリとローカルリポジトリ
複数人での開発作業
・全員がローカルリポジトリで進めていた
ら、作業の共有ができない

・中心となる中央リポジトリが必要

・今回の研修ではGitHubに中央リポジトリ
を配置
リモートとローカル
GitHubのアカウント作成

 既に持っている人も、今回のは社内用な
 ので会社のメールアドレスで私用とは別に
 作成してください。

 https://github.com/signup/free
GitHubのSSH鍵登録

 下記の2つの作業を行う
 ・SSHの鍵を作成
 ・作成した鍵の公開鍵をGitHubに登録

 鍵の作成手順と、GitHubへの登録手順は
 ↓のサイトを参考にしてください。

 http://help.github.com/linux-set-up-git/
GitHubのアカウント共有

 これからの作業ではみんなで1つのリモー
 トリポジトリを編集する。

 今作ったGitHubカウントを下記のスプレッ
 ドシートに追記する。

 github研修用アカウントリスト
GitHubのリポジトリその1

 まずはみんなでいじるリポジトリを手元に
 cloneして下さい。

 https://github.com/VG-Tech-
 Dojo/git_command_sheet
リポジトリのClone
$ git clone git@github.com:VG-Tech-
Dojo/git_command_sheet.git
Cloning into 'sample'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 3 (delta 0)
Receiving objects: 100% (3/3), 226 bytes, done.
$ cd git_command_sheet
$ git status
# On branch master
nothing to commit (working directory clean)
リモートの情報
$ git config --list
user.name=MisaKondo
user.email=Misa_Kondo@voyagegroup.com
remote.origin.fetch=+refs/heads/*:
refs/remotes/origin/*
remote.origin.url=git@github.com:VG-Tech-
Dojo/git_command_sheet.git
branch.master.remote=origin
branch.master.merge=refs/heads/master
Member.mdを編集、コミット
変更をリモートに反映
$ git push -u origin master
Counting objects: 5, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 663 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.comVG-Tech-
Dojo/git_command_sheet.git
4a679c0..430a223 master -> master
...以下略
このメッセージが出た人
To prevent you from losing history,
non-fast-forward updates were
rejected
Merge the remote changes (e.g. 'git
pull') before pushing again. See the
'Note about fast-forwards' section of
'git push --help' for details.
訳すと
履歴を失わない為non-fast-forwardの更
新が拒否されました。
pushする前に、リモートの変更をgit pullで
取り込みましょう。
詳しくは、git push --helpで表示され
る'Note about fast-forwards'の節を読み
gitの更新はfast-forwardが基本
・fast-forwardが基本
↓
・non-fast-forwardが忌避されている
↓
・何故なのか?
↓
・履歴が失われるから
fast-forward(高速前進)
                ’git push’ OK!
リモート
  A    B    C



ローカル
  A    B    C      D
non-fast-forward(非高速前進)
                ’git push’ NG!
リモート
  A    B    C      D




ローカル
  A    B    C      D'
履歴を失うとはどういうことか
家系図を見てみる
https://github.com/VG-Tech-
Dojo/git_command_sheet/network
このメッセージが出た人
To prevent you from losing history,
non-fast-forward updates were
rejected
Merge the remote changes (e.g. 'git
pull') before pushing again. See the
'Note about fast-forwards' section of
'git push --help' for details.
$ git push -uf origin master
再度家系図を別タブで開いてみる
https://github.com/VG-Tech-
Dojo/git_command_sheet/network
non-fast-forward(非高速前進)
リモート        ’git push -f’ すると
  A    B    C      D


  A    B    C      D'


ローカル
  A    B    C      D'
履歴が失われてしまう
履歴を失う=作業内容の紛失

$ git push -f remote_name branch_name


↑の-fはforceオプションの略で、
強制的にpushするという意味です。
gitの更新はfast-forwardが基本
git pullでremoteの変更をとりこむ
↓
(コンフリクトが発生したら、解消する)
↓
git pushでremoteを更新
non-fast-forwardとなったら
 # リモートブランチの変更を取り込む
 $ git pull origin master
 # リモートに反映
 $ git push -u origin master
自分のコミットが消えた人
今回は下記の手順でやりなおす。

$ cd ..
$ rm -rf git_command_sheet
$ git clone git@github.com:VG-Tech-
Dojo/git_command_sheet.git
$ cd git_command_sheet
このメッセージが出た人
Auto-merging Members.md
CONFLICT (content): Merge conflict
in Members.md
Automatic merge failed; fix conflicts
and then commit the result.
訳すと
自動マージに失敗しました。
競合を解決してから、コミットして下さい。
コンフリクト対応方法
$ git status
# コンフリクトファイルを編集
$ emacs Members.md
# 編集が終わったら、再度commit
$ git add Members.md
$ git commit -m 'commit_message'
$ git push -u origin master
コンフリクトファイルの中身
# 中略
M.K
<<<<<<< HEAD    ローカルの変更内容
Y.K
=======
          リモートから取得した変更内容
T.K
>>>>>>>
1994380b1e2eac0b8a8256135d57259d8f8495
4e
コンフリクトファイルを編集
M.K
T.K   リモートから取得した変更内容
Y.K
       ローカルの変更内容
Member.mdに全員のイニ
シャルが記入されたら終了
休憩15分
複数人での並行開発
  ブランチでの作業
複数人での並行開発作業
・masterブランチはリリースされたものを管
理する

・開発段階のソースを管理するブランチが
必要

・開発といっても、一つではなくバグ修正・
機能追加など、いくつもの作業が並行して
走る
そこで、ブランチを活用
下記の線1本=1ブランチ
並行して複数の開発が進む
ブランチの作成と確認
# 今いるブランチの確認
$ git branch
* master

# 自分用の開発ブランチを作成する。
$ git branch mk_develop

# mk_developブランチの作成
$ git branch
* master
今のブランチの状態
ブランチの切り替えとpush
# ブランチの切り替え
$ git checkout mk_develop
Switched to branch 'mk_develop'
# 今いるブランチを確認
$ git branch
  master
* mk_develop
# remoteへのブランチ反映
$ git push origin mk_develop
今のブランチの状態
自分用の開発ブランチを作成
$ git branch your_branch

ブランチの確認
$ git branch

ブランチをpush
$ git push origin your_branch
全員が終了したら、
家系図を見てみる
https://github.com/VG-Tech-
Dojo/git_command_sheet/network
開発用ブランチに切り替え
$ git checkout your_branch

ファイルを追加、編集
$ git add your_file
$ git commit -m 'message'

リモートへの反映
$ git push origin your_branch
今のブランチの状態
全員が終了したら、
家系図を見てみる
https://github.com/VG-Tech-
Dojo/git_command_sheet/network
masterへのmerge

 ・開発ブランチでの作業が終了
  ↓
 ・masterブランチに変更を取り込む
  ↓
 ・リモートへの反映
masterブランチに切り替え
$ git checkout master

変更を取り込む
$ git merge your_branch

リモートへの反映
$ git push origin master
全員が終了したら、
家系図を見てみる
https://github.com/VG-Tech-
Dojo/git_command_sheet/network
休憩15分
課題その1
最初にみんなで編集した
  リポジトリを見てみよう

  https://github.com/VG-Tech-
Dojo/git_command_sheet/network
masterがなんか汚いね
綺麗な一直線の線の方がいい
課題その1(ノーマル)

・4〜5人でグループを作る

・テーブルにチーム番号をふる

・チーム番号xのリポジトリをcloneする

$ git clone git@github.com:VG-Tech-
Dojo/teamX.git
networkが綺麗に一直線になれば終了
課題その2
課題その2(ハード)

下記のリポジトリをcloneする
$ git clone git@github.com:VG-Tech-
Dojo/git_manual.git
課題その2(ハード)
masterブランチの2番目のコミットとして、
developのコミットを取り込む。
masterは変わらず一直線。developのブランチもそ
のまま存在する。
下記のネットワーク図ができれば終了

Mais conteúdo relacionado

Mais procurados

やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門Tomohiko Himura
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理Takafumi Yoshida
 
Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方Yoshinori Kawasaki
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例Hirohito Kato
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門Takashi Imagire
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!ymmt
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIWataru MIYAGUNI
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013DQNEO
 
スッとGoを取り入れる
スッとGoを取り入れるスッとGoを取り入れる
スッとGoを取り入れるYusuke Wada
 
Eureka go 2015_12_12
Eureka go 2015_12_12Eureka go 2015_12_12
Eureka go 2015_12_12matsuo kenji
 
GrailsでSpringをGroovyにしよう!
GrailsでSpringをGroovyにしよう!GrailsでSpringをGroovyにしよう!
GrailsでSpringをGroovyにしよう!Tsuyoshi Yamamoto
 
会社に Github導入した話
会社に Github導入した話会社に Github導入した話
会社に Github導入した話Yutaka Kinjyo
 
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウCircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウTakeshi Mikami
 
ゆるふわっGit入門
ゆるふわっGit入門ゆるふわっGit入門
ゆるふわっGit入門Keisuke Oohata
 
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and SpockJJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and SpockNobuhiro Sue
 
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスRyo Sumasu
 

Mais procurados (20)

やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門
 
Yapc2012資料
Yapc2012資料Yapc2012資料
Yapc2012資料
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
 
スッとGoを取り入れる
スッとGoを取り入れるスッとGoを取り入れる
スッとGoを取り入れる
 
Github of project
Github of projectGithub of project
Github of project
 
Gitの紹介
Gitの紹介Gitの紹介
Gitの紹介
 
Eureka go 2015_12_12
Eureka go 2015_12_12Eureka go 2015_12_12
Eureka go 2015_12_12
 
GrailsでSpringをGroovyにしよう!
GrailsでSpringをGroovyにしよう!GrailsでSpringをGroovyにしよう!
GrailsでSpringをGroovyにしよう!
 
会社に Github導入した話
会社に Github導入した話会社に Github導入した話
会社に Github導入した話
 
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウCircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
 
はじめてのgithub
はじめてのgithubはじめてのgithub
はじめてのgithub
 
ゆるふわっGit入門
ゆるふわっGit入門ゆるふわっGit入門
ゆるふわっGit入門
 
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and SpockJJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
 
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティス
 

Destaque

Introduction git
Introduction gitIntroduction git
Introduction gitMisa Kondo
 
Jenkinsとpull requestを利用した、継続的なbundle update.
Jenkinsとpull requestを利用した、継続的なbundle update.Jenkinsとpull requestを利用した、継続的なbundle update.
Jenkinsとpull requestを利用した、継続的なbundle update.Misa Kondo
 
Application Release Utilizing MCollective
Application Release  Utilizing MCollectiveApplication Release  Utilizing MCollective
Application Release Utilizing MCollectiveMisa Kondo
 
Chefのはじめの一歩
Chefのはじめの一歩Chefのはじめの一歩
Chefのはじめの一歩Misa Kondo
 
Challenge ogx gip 2012.1
Challenge ogx gip 2012.1Challenge ogx gip 2012.1
Challenge ogx gip 2012.1Leotornel
 
PinQAでのMongoDB活用事例
PinQAでのMongoDB活用事例PinQAでのMongoDB活用事例
PinQAでのMongoDB活用事例Misa Kondo
 
Git introduction2
Git introduction2Git introduction2
Git introduction2Misa Kondo
 
Coffee script初めの一歩
Coffee script初めの一歩Coffee script初めの一歩
Coffee script初めの一歩Misa Kondo
 
ワンクリックデプロイ見習い勉強会
ワンクリックデプロイ見習い勉強会ワンクリックデプロイ見習い勉強会
ワンクリックデプロイ見習い勉強会Misa Kondo
 
Challenge ogx gip 2012.1
Challenge ogx gip 2012.1Challenge ogx gip 2012.1
Challenge ogx gip 2012.1Leotornel
 
Me aiesec and the world
Me aiesec and the worldMe aiesec and the world
Me aiesec and the worldLeotornel
 
Rubyとの出会いから黒歴史を築くまで
Rubyとの出会いから黒歴史を築くまでRubyとの出会いから黒歴史を築くまで
Rubyとの出会いから黒歴史を築くまでMisa Kondo
 
Capistrano introduction
Capistrano introductionCapistrano introduction
Capistrano introductionMisa Kondo
 
Analisis SYBIL dengan PSIKOLOGI
Analisis SYBIL dengan PSIKOLOGIAnalisis SYBIL dengan PSIKOLOGI
Analisis SYBIL dengan PSIKOLOGIYosi Rp
 
PPT Agama Jumlah Rasul dan Nabi
PPT Agama Jumlah Rasul dan NabiPPT Agama Jumlah Rasul dan Nabi
PPT Agama Jumlah Rasul dan NabiLungit Fauzia
 
K.chitra ppaper presentation
K.chitra ppaper presentationK.chitra ppaper presentation
K.chitra ppaper presentationTreesa Jos
 

Destaque (18)

Introduction git
Introduction gitIntroduction git
Introduction git
 
Jenkinsとpull requestを利用した、継続的なbundle update.
Jenkinsとpull requestを利用した、継続的なbundle update.Jenkinsとpull requestを利用した、継続的なbundle update.
Jenkinsとpull requestを利用した、継続的なbundle update.
 
TDDの神秘
TDDの神秘TDDの神秘
TDDの神秘
 
Tired to tdd
Tired to tddTired to tdd
Tired to tdd
 
Application Release Utilizing MCollective
Application Release  Utilizing MCollectiveApplication Release  Utilizing MCollective
Application Release Utilizing MCollective
 
Chefのはじめの一歩
Chefのはじめの一歩Chefのはじめの一歩
Chefのはじめの一歩
 
Challenge ogx gip 2012.1
Challenge ogx gip 2012.1Challenge ogx gip 2012.1
Challenge ogx gip 2012.1
 
PinQAでのMongoDB活用事例
PinQAでのMongoDB活用事例PinQAでのMongoDB活用事例
PinQAでのMongoDB活用事例
 
Git introduction2
Git introduction2Git introduction2
Git introduction2
 
Coffee script初めの一歩
Coffee script初めの一歩Coffee script初めの一歩
Coffee script初めの一歩
 
ワンクリックデプロイ見習い勉強会
ワンクリックデプロイ見習い勉強会ワンクリックデプロイ見習い勉強会
ワンクリックデプロイ見習い勉強会
 
Challenge ogx gip 2012.1
Challenge ogx gip 2012.1Challenge ogx gip 2012.1
Challenge ogx gip 2012.1
 
Me aiesec and the world
Me aiesec and the worldMe aiesec and the world
Me aiesec and the world
 
Rubyとの出会いから黒歴史を築くまで
Rubyとの出会いから黒歴史を築くまでRubyとの出会いから黒歴史を築くまで
Rubyとの出会いから黒歴史を築くまで
 
Capistrano introduction
Capistrano introductionCapistrano introduction
Capistrano introduction
 
Analisis SYBIL dengan PSIKOLOGI
Analisis SYBIL dengan PSIKOLOGIAnalisis SYBIL dengan PSIKOLOGI
Analisis SYBIL dengan PSIKOLOGI
 
PPT Agama Jumlah Rasul dan Nabi
PPT Agama Jumlah Rasul dan NabiPPT Agama Jumlah Rasul dan Nabi
PPT Agama Jumlah Rasul dan Nabi
 
K.chitra ppaper presentation
K.chitra ppaper presentationK.chitra ppaper presentation
K.chitra ppaper presentation
 

Semelhante a バージョン管理

20120324 git training
20120324 git training20120324 git training
20120324 git trainingTakeshi AKIMA
 
Git講習会
Git講習会Git講習会
Git講習会galluda
 
gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編Sanae Yamashita
 
ノンプログラマのGit入門
ノンプログラマのGit入門ノンプログラマのGit入門
ノンプログラマのGit入門Muyuu Fujita
 
Gitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめGitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめNatsumi Kashiwa
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座貴一 末田
 
Gitを使ってみませんか
Gitを使ってみませんかGitを使ってみませんか
Gitを使ってみませんかAtsuhiro Takiguchi
 
Git 入門
Git 入門Git 入門
Git 入門y-uti
 
githubハンズオン
githubハンズオンgithubハンズオン
githubハンズオンAyaka Ueda
 
ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発 ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発 schoowebcampus
 
Let’s translate FuelPHP docs! [RELOADED]
Let’s translate FuelPHP docs! [RELOADED]Let’s translate FuelPHP docs! [RELOADED]
Let’s translate FuelPHP docs! [RELOADED]Sho A
 
第8回 福岡西区勉強会
第8回 福岡西区勉強会第8回 福岡西区勉強会
第8回 福岡西区勉強会Shinya Kinoshita
 

Semelhante a バージョン管理 (20)

20120324 git training
20120324 git training20120324 git training
20120324 git training
 
今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
 
Git講習会
Git講習会Git講習会
Git講習会
 
gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編
 
ノンプログラマのGit入門
ノンプログラマのGit入門ノンプログラマのGit入門
ノンプログラマのGit入門
 
Gitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめGitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめ
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座
 
Github第4章
Github第4章Github第4章
Github第4章
 
Gitを使ってみませんか
Gitを使ってみませんかGitを使ってみませんか
Gitを使ってみませんか
 
Git 入門
Git 入門Git 入門
Git 入門
 
はじめてのGit
はじめてのGitはじめてのGit
はじめてのGit
 
Git (運用編)
Git (運用編)Git (運用編)
Git (運用編)
 
Git Workshop 20130720
Git Workshop 20130720Git Workshop 20130720
Git Workshop 20130720
 
githubハンズオン
githubハンズオンgithubハンズオン
githubハンズオン
 
Shizudev git hub宿題
Shizudev git hub宿題Shizudev git hub宿題
Shizudev git hub宿題
 
Git 勉強会
Git 勉強会Git 勉強会
Git 勉強会
 
git ~start PullRequest~
git ~start PullRequest~git ~start PullRequest~
git ~start PullRequest~
 
ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発 ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発
 
Let’s translate FuelPHP docs! [RELOADED]
Let’s translate FuelPHP docs! [RELOADED]Let’s translate FuelPHP docs! [RELOADED]
Let’s translate FuelPHP docs! [RELOADED]
 
第8回 福岡西区勉強会
第8回 福岡西区勉強会第8回 福岡西区勉強会
第8回 福岡西区勉強会
 

バージョン管理