SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
バージョン管理システムチュートリアル
バージョン管理システムチュートリアル
CMSI 神戸ハンズオン
2013-08-22
本教材の LATEX ソースは https://github.com/cmsi/vcs-tutorial にて公
開中
1 / 47
バージョン管理システムチュートリアル
Outline
1 チュートリアルの概要
2 準備作業
3 バージョン管理システムの概要
4 git の基礎
5 ブランチとマージ
6 リモートリポジトリとの連携
7 github を用いたオープンソース・ソフトウェアの開発・公開
8 その他
2 / 47
バージョン管理システムチュートリアル
チュートリアルの概要
VCS チュートリアル スタッフ
講師
藤堂眞治 (東大物性研) wistaria@issp.u-tokyo.ac.jp
五十嵐 亮 (東大物性研) rigarash@issp.u-tokyo.ac.jp
松尾春彦 (RIST) halm@rist.or.jp
本山裕一 (東大院工) yomichi@looper.t.u-tokyo.ac.jp
主催
CMSI: 計算物質科学イニシアティブ
http://cms-initiative.jp/
共催
RIST: 一般財団法人 高度情報科学技術研究機構
http://www.rist.or.jp/
3 / 47
バージョン管理システムチュートリアル
チュートリアルの概要
チュートリアルの流れ
準備作業
バージョン管理システムとは? (講義 & 実習)
git の基礎 (講義 & 実習)
ブランチとマージ (講義 & 実習)
リモートリポジトリとの連携 (講義 & 実習)
github を用いたオープンソース・ソフトウェアの開発・公開
(講義 & 実習)
MateriApps と MateriApps Live の紹介
(optional) A successful Git branching model (講義)
(optional) Git をボトムアップから理解する (講義)
4 / 47
バージョン管理システムチュートリアル
準備作業
ネットワーク設定
LAN 接続 (無線 or 有線)
実習用ワークステーションのアカウント登録
github アカウント登録 (まだアカウントを持っていない人
のみ)
https://github.com にアクセス
“Sign up for GitHub” をクリック, 必要事項を記入した後,
“Create an account”
SSH 公開鍵の登録 (“Account settings” ⇒ “SSH Keys”)
sourceforge アカウント登録 (まだアカウントを持っていない人
のみ)
http://sourceforge.net/ にアクセス
右上の “Join” をクリック, 必要事項を記入して “Register”
5 / 47
バージョン管理システムチュートリアル
準備作業
PC への git クライアントのインストール
Windows & Mac OS X
http://git-scm.com/downloads からインストーラーをダウ
ンロード
Mac の場合は MacPorts からインストールすることも可
$ sudo port install git
Linux
Redhat 系
$ sudo yum install git
Debian 系
$ sudo apt -get install git
6 / 47
バージョン管理システムチュートリアル
バージョン管理システムの概要
diff と patch によるバージョン管理
diff: 2 つのテキストファイルの差分を出力するコマンド
ファイル全体を保存するよりコンパクト
変更点を確認しやすい
patch: diff コマンドが生成した差分をファイルに適用するユー
ティリティー
もとのファイルと差分から変更後のファイルを生成できる
7 / 47
バージョン管理システムチュートリアル
バージョン管理システムの概要
実習: diff & patch (1)
単一ファイルの例
$ cp /home/hands -on/vcs/diff/prologue.txt prologue
.txt
$ cp prologue.txt prologue -orig.txt
$ vi prologue.txt # prologue.txt を 編 集
$ diff -u prologue -orig.txt prologue.txt >
prologue.diff
$ less prologue.diff # prologue.
d i f f の 中 身 を 見 て み る
$ cp /home/hands -on/vcs/diff/prologue.txt prologue
.txt
$ patch < prologue.diff
$ less prologue.txt # prologue. t x t の 中 身 を 確 認
8 / 47
バージョン管理システムチュートリアル
バージョン管理システムの概要
実習: diff & patch (2)
ディレクトリ全体を扱う例
$ cp -r /home/hands -on/vcs/diff shake
$ cp -r shake shake.orig
# s h a k e の 中 の フ ァ イ ル を 編 集 ( フ ァ イ ル の 削 除 や 追 加 も
可 )
$ diff -urN shake.orig shake > shake.diff
$ less shake.diff # shake. d i f f の 中 身 を 見 て み る
$ rm -rf shake
$ cp -r /home/hands -on/vcs/diff shake
$ patch -p0 < shake.diff
# s h a k e の 中 身 を 確 認
diff と patch で差分の管理は可能になるが, 履歴は別に管理し
ておかなければならない
9 / 47
バージョン管理システムチュートリアル
バージョン管理システムの概要
バージョン管理システムとは?
ファイルの履歴をデータベース (リポジト
リ) で一括管理するシステム
もともとはプログラムのソースコードのた
めのシステム
それ以外のファイル (例えば LATEX ファ
イル) 管理にも使える
一人で使っても複数人で使っても超便利
超優秀な秘書のようなもの
10 / 47
バージョン管理システムチュートリアル
バージョン管理システムの概要
なぜバージョン管理システムが必要なのか?
作業者 and/or 作業場所が複数になると,
ファイル名や手書きのログファイルによる
バージョン管理はすぐに破綻する
ネットワーク経由でファイルを check
out/check in
更新毎に一意なバージョン番号 (リビ
ジョン) を付与
任意のバージョン間の比較が容易
バックアップの代わりにも
複数箇所から同時に更新した場合に衝突を
回避するしくみを備えている
ブランチ・マージ・タグ付けなどが可能
11 / 47
バージョン管理システムチュートリアル
バージョン管理システムの概要
ありがちなパターン
University of Tokyo
25/45
1)
B
3)
A
2)
B
4)
A
12 / 47
バージョン管理システムチュートリアル
バージョン管理システムの概要
バージョン管理している場合
University of Tokyo
26/45
1) 2)
A
3)
A 4)B
5)
6)
C
7) ( )
13 / 47
バージョン管理システムチュートリアル
バージョン管理システムの概要
主なバージョン管理システム
BitKeeper - かつて Linux のカーネルのソース管理に使われて
いた
CVS (Concurrent Versions System) - ネットワークでの利用を
考慮とした初めてのバージョン管理システム. 以前はよく使わ
れていた
Git - 現在 Linux の開発に使われている. 分散型リポジトリ
Mercurial - Git のライバル. 分散型リポジトリ
SCCS (Source Code Control System) - 70 年代にベル研で開発
された世界初のバージョン管理システム. 現在は使われない
Subversion - CVS の改良版として開発された. 現在最もポピュ
ラー? Mac OS X や多くの Linux には最初からインストールさ
れている
14 / 47
バージョン管理システムチュートリアル
バージョン管理システムの概要
バージョン管理システムの欠点 (面倒な点)
修正前に最新の状態にアップデートしなければならない
⇒ 慣れると習慣になります
全ての修正を「コミット」しなければならない
⇒ 慣れると習慣になります
衝突 (コンフリクト) が発生した時に対処しなければならない
⇒ 衝突に気づかずに修正してしまうほうが怖いです
サーバのセットアップが面倒くさい
⇒ まずはホスティングサービス (github, sourceforge,
bitbucket) を試してみましょう
⇒ まわりにいるプロ (?) に相談しましょう
バージョン管理システムを使うと作業効率が倍以上になる
⇒ 使わないと人生を半分損する
15 / 47
バージョン管理システムチュートリアル
git の基礎
git の基礎
「いつやるの? git 入門」ページ 28–34, 55, 58–110
http://www.slideshare.net/matsukaz/git-17499005
16 / 47
バージョン管理システムチュートリアル
git の基礎
実習: git の基礎 (1)
ユーザ名などの設定 (ログなどに使用される)
$ git config --global user.name ’XXXX YYYY ’
$ git config --global user.email xxx@yyy.zz
作業用ディレクトリと git リポジトリの作成
$ mkdir myproject
$ cd myproject
$ git init
Initialized empty Git repository in /home/xxx/
myproject /.git/
$ ls -a
. .. .git
全ての履歴情報は .git に保存される. けっして .git を消さない
ように!
17 / 47
バージョン管理システムチュートリアル
git の基礎
実習: git の基礎 (2)
ファイルの作成 & 管理対象に追加 (ステージング)
$ vi readme.txt
$ git add readme.txt
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file >..." to unstage)
#
# new file: readme.txt
#
18 / 47
バージョン管理システムチュートリアル
git の基礎
実習: git の基礎 (3)
リポジトリに登録 (コミット)
$ git commit -m ’Initial commit ’
[master (root -commit) 5714 b10] Initial commit
0 files changed
create mode 100644 readme.txt
$ git status
# On branch master
nothing to commit (working directory clean)
メッセージ中の “5714b10” がコミット ID(の最初の何文字か)
19 / 47
バージョン管理システムチュートリアル
git の基礎
実習: git の基礎 (4)
ファイルを編集
$ vi readme.txt
差分を見てみる
$ git diff
diff --git a/readme.txt b/readme.txt
index eaf543d .. c337c4e 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1 +1,2 @@
Example of readme file.
+Added a new line.
20 / 47
バージョン管理システムチュートリアル
git の基礎
実習: git の基礎 (5)
ステータスを確認
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file >..." to update what will
be committed)
# (use "git checkout -- <file >..." to discard
changes in working directory)
#
# modified: readme.txt
#
no changes added to commit (use "git␣add" and/or "
git␣commit␣-a")
21 / 47
バージョン管理システムチュートリアル
git の基礎
実習: git の基礎 (6)
ステージング, コミット
$ git add readme.txt
$ git commit -m ’Added one line.’
[master c498a65] Added one line.
1 file changed , 1 insertion (+)
ログの確認
$ git log
commit c498a65ae0a267c206ab1e89fbdb6cfc31d56f2f
Author: Synge Todo <wistaria@issp.u-tokyo.ac.jp >
Date: Wed Aug 11 22:37:03 2013 +0900
Added one line.
...
22 / 47
バージョン管理システムチュートリアル
git の基礎
実習: git の基礎 (7)
新しいファイルの作成, ステージング, コミット
$ vi hello.txt
$ git add hello.txt
$ git commit -m ’Created hello.txt ’
サブディレクトリの下にファイルを作成
$ mkdir src
$ vi src/myprog.f
$ git add src/myprog.f
$ git commit -m ’Initial version of myprog.f’
ファイルの削除, 移動, コミット間の差分
23 / 47
バージョン管理システムチュートリアル
ブランチとマージ
ブランチとマージ
「いつやるの? git 入門」ページ 112–152
http://www.slideshare.net/matsukaz/git-17499005
「こわくない Git」ページ 6–78
http://www.slideshare.net/kotas/git-15276118
24 / 47
バージョン管理システムチュートリアル
ブランチとマージ
実習: ブランチとマージ (1)
develop ブランチの作成
$ git branch develop
$ git checkout develop
Switched to branch ’develop ’
$ git branch
* develop
master
develop ブランチに doc.txt を作成
$ vi doc.txt
$ git add doc.txt
$ git commit -m ’Created documentation ’
[develop 9b5f323] Created documentation
1 file changed , 1 insertion (+)
create mode 100644 doc.txt
25 / 47
バージョン管理システムチュートリアル
ブランチとマージ
実習: ブランチとマージ (2)
master ブランチに戻ってみる
$ git checkout master
$ ls
hello.txt readme.txt src
doc.txt がなくなっていることに注意
もう一度, develop ブランチに切り替え
$ git checkout develop
$ ls
doc.txt hello.txt readme.txt src
26 / 47
バージョン管理システムチュートリアル
ブランチとマージ
実習: ブランチとマージ (3)
master ブランチでファイルを編集, コミット
$ git checkout master
$ vi hello.txt
$ git add hello.txt
$ git commit -m ’Modified hello.txt ’
この時点で master と develop が枝分かれ!
develop ブランチを master ブランチにマージ
$ git merge develop
Merge made by the ’recursive ’ strategy.
doc.txt | 1 +
1 file changed , 1 insertion (+)
create mode 100644 doc.txt
27 / 47
バージョン管理システムチュートリアル
ブランチとマージ
実習: ブランチとマージ (4)
コミットグラフ (の一部) を表示
$ git log --graph
...
github (後述) を使っている場合には, ブラウザでコミットグラ
フを見ることができる
28 / 47
バージョン管理システムチュートリアル
ブランチとマージ
実習: ブランチとマージ (5)
今度はコンフリクトが起こるような修正を行ってみる
$ git checkout develop
$ vi hello.txt # 先 程 と 同 じ 場 所 を 違 う 文 字 列 に 修 正
$ git add hello.txt
$ git commit -m ’Modified hello.txt differently ’
マージしようとすると失敗する!
$ git checkout master
Switched to branch ’master ’
$ git merge develop
Auto -merging hello.txt
CONFLICT (content ): Merge conflict in hello.txt
Automatic merge failed; fix conflicts and then
commit the result.
29 / 47
バージョン管理システムチュートリアル
ブランチとマージ
実習: ブランチとマージ (6)
hello.txt の中を見るとコンフリクトした箇所がわかる
$ cat hello.txt
<<<<<<< HEAD
hello , CMSI
=======
hello , MateriApps
>>>>>>> develop
’<<<<<<<’ と’>>>>>>>’ の間の領域がコンフリクト
ファイルを編集してコンフリクトを解消, コミット
$ vi hello.txt
$ cat hello.txt
hello , MateriApps
$ git add hello.txt
$ git commit -m ’Merge branch develop ’
30 / 47
バージョン管理システムチュートリアル
リモートリポジトリとの連携
リモートリポジトリとの連携
「いつやるの? git 入門」ページ 154–193
http://www.slideshare.net/matsukaz/git-17499005
31 / 47
バージョン管理システムチュートリアル
リモートリポジトリとの連携
実習: リモートリポジトリとの連携 (1)
実習で用いる github 上のリモートリポジトリ
git@github.com:cmsi/vcs-hands-on.git
ブラウザでのアクセス
https://github.com/cmsi/vcs-hands-on
リモートリポジトリをローカルに複製
$ git clone git@github.com:cmsi/vcs -hands -on.git
Cloning into ’vcs -hands -on ’...
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (4/4) , done.
remote: Total 4 (delta 0), reused 4 (delta 0)
Receiving objects: 100% (4/4) , done.
32 / 47
バージョン管理システムチュートリアル
リモートリポジトリとの連携
実習: リモートリポジトリとの連携 (2)
課題 1: 自分のページの作成
todo.html を自分の名前にコピーして編集
$ cd vcs -hands -on
$ cp todo.html igarashi.html
$ vi igarashi.html
index.html を編集し, 自分のページヘのリンクを作成
ローカルリポジトリにコミット
リモートリポジトリにプッシュ
$ git push origin master
33 / 47
バージョン管理システムチュートリアル
リモートリポジトリとの連携
実習: リモートリポジトリとの連携 (3)
課題 2: 他の人のページから自分のページへのリンクの作成
リモートブランチ (origin/master) を最新版に更新し, master に
マージ
$ git fetch
$ git merge origin/master
誰かのページを編集. 自分のページヘのリンクを作成
ローカルリポジトリにコミット
リモートリポジトリにプッシュ
34 / 47
バージョン管理システムチュートリアル
リモートリポジトリとの連携
実習: リモートリポジトリとの連携 (4)
プッシュが失敗した場合
誰かがすでにプッシュしている
まずリモートリポジトリの内容をマージしてから再度プッシュ
$ git fetch
$ git merge origin/master
$ git push origin master
マージの際にコンフリクトした場合
ファイルを修正しコミットした後, プッシュ
コミットグラフの確認
$ git log --graph
あるいはブラウザで
https://github.com/cmsi/vcs-hands-on/network にア
クセス
35 / 47
バージョン管理システムチュートリアル
リモートリポジトリとの連携
git ワークフローのまとめ
remote
repository
local
repository
indexwork space
add
commit
push
checkout <file>
fetch
merge/rebase
checkout <commit>
FETCH_HEAD
Basic git working flow
36 / 47
バージョン管理システムチュートリアル
リモートリポジトリとの連携
バージョン管理システムを使う上での注意点
git が管理している領域からファイルを持ちだして編集しては
いけない
大きなバイナリファイル (pdf, exe, doc, tar.gz, zip など) を git
で管理しない
37 / 47
バージョン管理システムチュートリアル
github を用いたオープンソース・ソフトウェアの開発・公開
「公開ソフト」に必要なもの
マニュアル
チュートリアル
ライセンス
ビルドシステム and/or インストーラー
ソースコード配布
Linux で一般的. ソースと一緒にビルド環境 (Makefile, CMake,
configure スクリプト) を配布
バイナリ配布
Windows で一般的. バイナリインストーラー形式で配布
ユーザフレンドリな操作環境 (GUI など)
ユーザサポート体制
38 / 47
バージョン管理システムチュートリアル
github を用いたオープンソース・ソフトウェアの開発・公開
ビルドシステム: CMake
Makefile を生成するためのユーティリティー (configure スクリ
プトに対応)
Windows の Visual C++ 用ソリューションファイル, Mac OS
X の Xcode 用プロジェクトファイルの生成も可能
設定は CMakeLists.txt に記述する
テスト (CTest) やバイナリインストーラ作成 (CPack) の機能
もある
ファイルの依存関係の自動検出
必要なライブラリ (MPI, LAPACK 等) の検索機能
39 / 47
バージョン管理システムチュートリアル
github を用いたオープンソース・ソフトウェアの開発・公開
オープンソース・ソフトウェア開発の流れ (例)
github にリポジトリを作成
開発
ソースコード
ビルドシステム
ドキュメント類
テスト
バージョン番号を割り当て
公開
配布物の作成 (tar.gz, インストーラー)
配布物のアップロード (sourceforge)
アナウンス
次期バージョンの開発へ
40 / 47
バージョン管理システムチュートリアル
github を用いたオープンソース・ソフトウェアの開発・公開
実習: github を用いたオープンソース・ソフトウェアの開
発・公開 (1)
github で新しいリポジトリを作成
https://github.com にログインし, 右上の “Create a new
repo” をクリック
リポジトリの URL は, ページ右下の “SSH clone URL” に表示
されている
github 上のリポジトリをローカルに複製
$ git clone git@github.com:foo/myproject.git # 例
ソースコードを作成
$ cd myproject
$ vi hello.f90 # F o r t r a n の 場 合
$ vi hello.cpp # C++ の 場 合
ソースコードの例: https://github.com/cmsi/
vcs-tutorial/tree/develop/opensource 41 / 47
バージョン管理システムチュートリアル
github を用いたオープンソース・ソフトウェアの開発・公開
実習: github を用いたオープンソース・ソフトウェアの開
発・公開 (2)
ソースコードをローカルリポジトリにコミット
リモートリポジトリにプッシュ
CMakeLists.txt の作成 (例: Fortran の場合)
cmake_minimum_required (VERSION 2.8 FATAL_ERROR)
project(hello NONE) # プ ロ ジ ェ ク ト 名
enable_language (Fortran) # 使 用 す る 言 語
# 作 成 す る バ イ ナ リ 名 と そ れ に 必 要 な ソ ー ス フ ァ イ ル 名
add_executable(hello hello.f90)
42 / 47
バージョン管理システムチュートリアル
github を用いたオープンソース・ソフトウェアの開発・公開
実習: github を用いたオープンソース・ソフトウェアの開
発・公開 (3)
CMakeLists.txt の作成 (例: C++の場合)
cmake_minimum_required (VERSION 2.8 FATAL_ERROR)
project(hello NONE) # プ ロ ジ ェ ク ト 名
enable_language (C++) # 使 用 す る 言 語
# 作 成 す る バ イ ナ リ 名 と そ れ に 必 要 な ソ ー ス フ ァ イ ル 名
add_executable(hello hello.cpp)
ソースファイルが複数ある場合は, それらを列挙すれば良い
CMakeLists.txt をローカルリポジトリにコミット, リモートリ
ポジトリにプッシュ
43 / 47
バージョン管理システムチュートリアル
github を用いたオープンソース・ソフトウェアの開発・公開
実習: github を用いたオープンソース・ソフトウェアの開
発・公開 (4)
ソースコード, CMakeLists.txt のテスト
$ mkdir myproject -build #
g i t で 管 理 し て い る デ ィ レ ク ト リ の 外 で テ ス ト
$ cd myproject -build
$ cmake $HOME/myproject #
g i t で 管 理 し て い る デ ィ レ ク ト リ を 指 定
$ make # h e l l o が ビ ル ド さ れ る
$ ./ hello
hello , world
さらにドキュメント, ライセンスファイルなどを追加
44 / 47
バージョン管理システムチュートリアル
github を用いたオープンソース・ソフトウェアの開発・公開
実習: github を用いたオープンソース・ソフトウェアの開
発・公開 (5)
リリース作業
必要なファイル, 修正を全てコミット
タグをつけ, リモートにプッシュ
$ git tag -a 1.0
$ git tag # タ グ の 確 認
$ git push origin 1.0
配布用アーカイブの作成 (tar.gz あるいは zip 形式)
$ git archive --format tar --prefix=myproject -1.0/
1.0 | gzip > myproject -1.0. tar.gz
$ git archive --format zip --prefix=myproject -1.0/
1.0 > myproject -1.0. zip
45 / 47
バージョン管理システムチュートリアル
github を用いたオープンソース・ソフトウェアの開発・公開
実習: github を用いたオープンソース・ソフトウェアの開
発・公開 (6)
アーカイブの中身を確認した上で, sourceforge にアップロード
github にはバイナリ配布機能はないので, sourceforge を利用
(cf. https://help.github.com/articles/
distributing-large-binaries)
http://sourceforge.net にログイン
“Create a Project” をクリックして, myproject 用のプロジェク
トを作成 (配布用に使うだけなので, Wiki, Git, Forums などは
不要)
Files セクションにフォルダを作成し, 配布用アーカイブをアッ
プロード
リリースノートの更新, アナウンス
MateriApps, github.io などを利用
46 / 47
バージョン管理システムチュートリアル
その他
その他の話題
MateriApps と MateriApps Live の紹介
A successful Git branching model (ブランチの上手な使い方)
http://keijinsonyaban.blogspot.jp/2010/10/
successful-git-branching-model.html
Git をボトムアップから理解する (git の中で何が起こっている
のかを知りたい人向け) http:
//keijinsonyaban.blogspot.jp/2011/05/git.html
47 / 47

Weitere ähnliche Inhalte

Was ist angesagt?

バージョン管理とGit
バージョン管理とGitバージョン管理とGit
バージョン管理とGitsinsoku listy
 
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術Kei IWASAKI
 
Git flowについてまとめてみた
Git flowについてまとめてみたGit flowについてまとめてみた
Git flowについてまとめてみたhiroyuki koga
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介Etsuji Nakai
 
RedmineとGitとスクラム
RedmineとGitとスクラムRedmineとGitとスクラム
RedmineとGitとスクラムTakashi Okamoto
 
Linux kernelのbspとupstream
Linux kernelのbspとupstreamLinux kernelのbspとupstream
Linux kernelのbspとupstreamwata2ki
 
Rtミドルウェア講習会@名城大学 20140624 3
Rtミドルウェア講習会@名城大学 20140624 3Rtミドルウェア講習会@名城大学 20140624 3
Rtミドルウェア講習会@名城大学 20140624 3openrtm
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpYoshifumi Yamaguchi
 
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティtse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティAtsuo Ishimoto
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜Takashi Uemura
 
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドコンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドktateish
 
about DEXCS for OpenFOAM
about DEXCS for OpenFOAMabout DEXCS for OpenFOAM
about DEXCS for OpenFOAMEtsuji Nomura
 

Was ist angesagt? (13)

バージョン管理とGit
バージョン管理とGitバージョン管理とGit
バージョン管理とGit
 
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術
 
Git flowについてまとめてみた
Git flowについてまとめてみたGit flowについてまとめてみた
Git flowについてまとめてみた
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
 
RedmineとGitとスクラム
RedmineとGitとスクラムRedmineとGitとスクラム
RedmineとGitとスクラム
 
Linux kernelのbspとupstream
Linux kernelのbspとupstreamLinux kernelのbspとupstream
Linux kernelのbspとupstream
 
Rtミドルウェア講習会@名城大学 20140624 3
Rtミドルウェア講習会@名城大学 20140624 3Rtミドルウェア講習会@名城大学 20140624 3
Rtミドルウェア講習会@名城大学 20140624 3
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
 
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティtse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドコンセプトから理解するGitコマンド
コンセプトから理解するGitコマンド
 
about DEXCS for OpenFOAM
about DEXCS for OpenFOAMabout DEXCS for OpenFOAM
about DEXCS for OpenFOAM
 

Andere mochten auch

分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218Takashi Okamoto
 
git導入メリット(社内LT資料改編版)
git導入メリット(社内LT資料改編版)git導入メリット(社内LT資料改編版)
git導入メリット(社内LT資料改編版)Takuya Iizawa
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0Masakazu Matsushita
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門dsuke Takaoka
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理Takafumi Yoshida
 

Andere mochten auch (6)

分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218
 
git導入メリット(社内LT資料改編版)
git導入メリット(社内LT資料改編版)git導入メリット(社内LT資料改編版)
git導入メリット(社内LT資料改編版)
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
いつやるの?Git入門
いつやるの?Git入門いつやるの?Git入門
いつやるの?Git入門
 

Ähnlich wie バージョン管理システムチュートリアル

Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルComputational Materials Science Initiative
 
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 Hiro Yoshioka
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座Yusei Yamanaka
 
Git 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwellsinsoku listy
 
(工事中) Git の仕組み
(工事中) Git の仕組み(工事中) Git の仕組み
(工事中) Git の仕組みTeloo
 
(工事中) Git の仕組み
(工事中) Git の仕組み(工事中) Git の仕組み
(工事中) Git の仕組みTeloo
 
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門kazuki kuriyama
 
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab満徳 関
 
git入門(講義っぽく)
git入門(講義っぽく)git入門(講義っぽく)
git入門(講義っぽく)kataware
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門to_ueda
 
Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回kinme modoki
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をAtsuhiro Kubo
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用賢次 海老原
 
GitHubワークショップ
GitHubワークショップGitHubワークショップ
GitHubワークショップHiroaki Murayama
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料Kenji Takei
 

Ähnlich wie バージョン管理システムチュートリアル (20)

Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアル
 
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座
 
Git 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwell
 
Git&GitHub入門
Git&GitHub入門Git&GitHub入門
Git&GitHub入門
 
(工事中) Git の仕組み
(工事中) Git の仕組み(工事中) Git の仕組み
(工事中) Git の仕組み
 
(工事中) Git の仕組み
(工事中) Git の仕組み(工事中) Git の仕組み
(工事中) Git の仕組み
 
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門
 
Git勉強会
Git勉強会Git勉強会
Git勉強会
 
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
 
git入門(講義っぽく)
git入門(講義っぽく)git入門(講義っぽく)
git入門(講義っぽく)
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門
 
Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回
 
Git 勉強会
Git 勉強会Git 勉強会
Git 勉強会
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用
 
GitHubワークショップ
GitHubワークショップGitHubワークショップ
GitHubワークショップ
 
Github入門2014
Github入門2014Github入門2014
Github入門2014
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料
 
Git (運用編)
Git (運用編)Git (運用編)
Git (運用編)
 

バージョン管理システムチュートリアル