上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
開発/バージョン管理システム/git
をテンプレートにして作成
資料室
開発/バージョン管理システム/git をテンプレートにして作成
[
差分
|
バックアップ
|
リロード
]
[ ]
開始行:
*gitとは,
[[Subversion>../subversion]] に代わる新しいバージョン管理...
AndroidもGitで管理されているらしい。というよりも,GitはLi...
Linusはトランスメタ時代にCVSを使えと言われて,その時にCVS...
''集中型バージョン管理システムとの違い''~
従来の集中型バージョン管理システム(CVSやSubversion)とGi...
SubversionとGitと比較してみる。
** Subversionでの管理方法
#ref(svn.png,,50%)
''Subversion''ではリジトリは中央に1つだけ存在し,各ユーザ...
作業コピーで必要な修正を行ったのち,修正内容をコミットと...
しかし,常に管理対象のリポジトリが1つであるため操作に戸惑...
重要なのは,''コミットという操作が共用リポジトリへ反映さ...
** Gitでの管理方法
#ref(git.png,,50%)
これに対してGitでは,複数のリポジトリを使用します。~
リモートリポジトリ((Subversionで言うところの中央リポジト...
修正は複製したローカルリポジトリに対して行い,リモートリ...
コミットという操作もありますが,それはローカルリポジトリ...
この仕組みにより,ファイルを管理しているデータベースの格...
Linuxカーネルの開発では,開発している多くの人たちがLinux ...
これでは作業が大変なのであるバージョン管理システムを使っ...
このように,同じバージョン管理システムでも中央集権型と分...
Gitを使った作業フローとしては,~
- ''リモートリポジトリからコピーする''~
リモートリポジトリは専用のサーバに配置して,複数人で共有...
そこから,ローカルリポジトリ(ユーザ一人ひとりが利用する...
このローカルリポジトリから必要なファイルをワーキングディ...
- ワーキングディレクトリの''ファイルを編集し,コンテンツ...
- ''ローカルリポジトリへコミットする''~
普段の作業はローカルリポジトリを使って,全て手元のマシン...
- ''リモートリポジトリへ変更内容を反映させる''~
ローカルリポジトリでの更新された内容を,リモートリポジト...
これにより,共有するファイルを更新することができる。~
のように行います。~
** Gitの良い点
例えば,「ある使用しているライブラリを1.xから2.xにバージ...
作業タスクは,以下の様な感じになります。~
+ 既存ライブラリの削除(1.xは削除して2.xにするために)
+ 2.xのライブラリをプロジェクトに取り込む
+ 1.xから2.xで変更となったAPIの反映
+ Licence表記の変更(必要があれば)
これらの変更作業は,それぞれ独立していると考えられる。(...
これをSubversionで管理している場合は,すべての作業が間違...
この事は,以下のことを意味する。~
- コミット前の動作確認で正しく動作しない場合,自分がどこ...
- ソフトウェアのコードレビューをする人は,すべての修正作...
これが,もしローカルコミットが出来るとどうなるかというと,~
+ 既存ライブラリの削除(1.xは削除して2.xにするために)~
<コミット1>
+ 2.xのライブラリファイルをプロジェクトに取り込む~
<コミット2>
+ 1.xから2.xで変更となったAPIの反映~
<コミット3>
+ Licence表記の変更(必要があれば)~
<コミット4>
それぞれの作業タスクで,差分を確認してコミットをすること...
この段階では共有リポジトリへの反映はしていないため,他の...
つまりローカルコミットがない場合と比べて,どのような変化...
- コミット前の動作確認で正しく動作しない場合,コミット単...
差分(diff)あるいは過去コミットのチェックアウトすること...
- コードレビューをする人は,それぞれのコミット(独立した...
作業単位でレビューできるので集中することができる。~
のようになり問題が解決しています。~
この構造を採用したバージョン管理がGitです。ここがSubversi...
* Gitの基本
Gitには,管理している領域に4つの領域があります。~
手元のPCに存在する''ワークディレクトリ'',''ステージング...
#ref(基本.png,,50%)
** 履歴を管理するリポジトリ
リポジトリとは,ファイルやディレクトリの状態を記録する場...
保存された状態は,内容の変更履歴として格納されています。~
変更履歴を管理したいディレクトリをリポジトリの管理下に置...
#ref(リポジトリ1.png,70%)
** リモートリポジトリとローカルリポジトリ
Gitのリポジトリには,''リモートリポジトリ''と''ローカルリ...
- ''リモートリポジトリ''~
ファイルが共有できるファイルサーバー等に配置して,複数人...
- ''ローカルリポジトリ''~
ユーザ一毎の利用のために,自分のPC上に配置するリポジトリ。~
リポジトリをリモートとローカルの2種類に分けることで,普段...
自分のローカルリポジトリで作業した内容をみんなと共有する...
また,''リモートリポジトリ''を通して,他の人の作業内容を...
** ワークディレクトリとインデックス
各個人が実際に作業をしているディレクトリのことを,Gitでは...
そして,リポジトリとワークツリーの間には''ステージング''...
インデックスは,ローカルリポジトリにコミットする準備をす...
#ref(流れ.png,50%)
Gitは,コミットを実行した時にワークツリーから直接ローカル...
このため,コミットを使ってファイルの状態を記録するために...
このようにインデックスを間に入れることで,ワークツリー内...
* Gitのインストール
PCに[[Gitをインストール>./Gitのインストール]]する。~
-
* Gitの使い方
[[Gitの使い方>./Gitの使い方]]について。~
* Gitで扱えるリモートリポジトリのタイプとアクセス方法
[[リモートリポジトリのタイプとアクセスの仕方>./Gitで扱え...
* リモートリポジトリ(共有リポジトリ)の作成と運用
[[リモートリポジトリ(共有リポジトリ)の作成と運用の仕方>...
* GitリポジトリホスティングサービスとGit管理ツール
[[リポジトリホスティングサービスとGit管理ツール>./Gitリポ...
終了行:
*gitとは,
[[Subversion>../subversion]] に代わる新しいバージョン管理...
AndroidもGitで管理されているらしい。というよりも,GitはLi...
Linusはトランスメタ時代にCVSを使えと言われて,その時にCVS...
''集中型バージョン管理システムとの違い''~
従来の集中型バージョン管理システム(CVSやSubversion)とGi...
SubversionとGitと比較してみる。
** Subversionでの管理方法
#ref(svn.png,,50%)
''Subversion''ではリジトリは中央に1つだけ存在し,各ユーザ...
作業コピーで必要な修正を行ったのち,修正内容をコミットと...
しかし,常に管理対象のリポジトリが1つであるため操作に戸惑...
重要なのは,''コミットという操作が共用リポジトリへ反映さ...
** Gitでの管理方法
#ref(git.png,,50%)
これに対してGitでは,複数のリポジトリを使用します。~
リモートリポジトリ((Subversionで言うところの中央リポジト...
修正は複製したローカルリポジトリに対して行い,リモートリ...
コミットという操作もありますが,それはローカルリポジトリ...
この仕組みにより,ファイルを管理しているデータベースの格...
Linuxカーネルの開発では,開発している多くの人たちがLinux ...
これでは作業が大変なのであるバージョン管理システムを使っ...
このように,同じバージョン管理システムでも中央集権型と分...
Gitを使った作業フローとしては,~
- ''リモートリポジトリからコピーする''~
リモートリポジトリは専用のサーバに配置して,複数人で共有...
そこから,ローカルリポジトリ(ユーザ一人ひとりが利用する...
このローカルリポジトリから必要なファイルをワーキングディ...
- ワーキングディレクトリの''ファイルを編集し,コンテンツ...
- ''ローカルリポジトリへコミットする''~
普段の作業はローカルリポジトリを使って,全て手元のマシン...
- ''リモートリポジトリへ変更内容を反映させる''~
ローカルリポジトリでの更新された内容を,リモートリポジト...
これにより,共有するファイルを更新することができる。~
のように行います。~
** Gitの良い点
例えば,「ある使用しているライブラリを1.xから2.xにバージ...
作業タスクは,以下の様な感じになります。~
+ 既存ライブラリの削除(1.xは削除して2.xにするために)
+ 2.xのライブラリをプロジェクトに取り込む
+ 1.xから2.xで変更となったAPIの反映
+ Licence表記の変更(必要があれば)
これらの変更作業は,それぞれ独立していると考えられる。(...
これをSubversionで管理している場合は,すべての作業が間違...
この事は,以下のことを意味する。~
- コミット前の動作確認で正しく動作しない場合,自分がどこ...
- ソフトウェアのコードレビューをする人は,すべての修正作...
これが,もしローカルコミットが出来るとどうなるかというと,~
+ 既存ライブラリの削除(1.xは削除して2.xにするために)~
<コミット1>
+ 2.xのライブラリファイルをプロジェクトに取り込む~
<コミット2>
+ 1.xから2.xで変更となったAPIの反映~
<コミット3>
+ Licence表記の変更(必要があれば)~
<コミット4>
それぞれの作業タスクで,差分を確認してコミットをすること...
この段階では共有リポジトリへの反映はしていないため,他の...
つまりローカルコミットがない場合と比べて,どのような変化...
- コミット前の動作確認で正しく動作しない場合,コミット単...
差分(diff)あるいは過去コミットのチェックアウトすること...
- コードレビューをする人は,それぞれのコミット(独立した...
作業単位でレビューできるので集中することができる。~
のようになり問題が解決しています。~
この構造を採用したバージョン管理がGitです。ここがSubversi...
* Gitの基本
Gitには,管理している領域に4つの領域があります。~
手元のPCに存在する''ワークディレクトリ'',''ステージング...
#ref(基本.png,,50%)
** 履歴を管理するリポジトリ
リポジトリとは,ファイルやディレクトリの状態を記録する場...
保存された状態は,内容の変更履歴として格納されています。~
変更履歴を管理したいディレクトリをリポジトリの管理下に置...
#ref(リポジトリ1.png,70%)
** リモートリポジトリとローカルリポジトリ
Gitのリポジトリには,''リモートリポジトリ''と''ローカルリ...
- ''リモートリポジトリ''~
ファイルが共有できるファイルサーバー等に配置して,複数人...
- ''ローカルリポジトリ''~
ユーザ一毎の利用のために,自分のPC上に配置するリポジトリ。~
リポジトリをリモートとローカルの2種類に分けることで,普段...
自分のローカルリポジトリで作業した内容をみんなと共有する...
また,''リモートリポジトリ''を通して,他の人の作業内容を...
** ワークディレクトリとインデックス
各個人が実際に作業をしているディレクトリのことを,Gitでは...
そして,リポジトリとワークツリーの間には''ステージング''...
インデックスは,ローカルリポジトリにコミットする準備をす...
#ref(流れ.png,50%)
Gitは,コミットを実行した時にワークツリーから直接ローカル...
このため,コミットを使ってファイルの状態を記録するために...
このようにインデックスを間に入れることで,ワークツリー内...
* Gitのインストール
PCに[[Gitをインストール>./Gitのインストール]]する。~
-
* Gitの使い方
[[Gitの使い方>./Gitの使い方]]について。~
* Gitで扱えるリモートリポジトリのタイプとアクセス方法
[[リモートリポジトリのタイプとアクセスの仕方>./Gitで扱え...
* リモートリポジトリ(共有リポジトリ)の作成と運用
[[リモートリポジトリ(共有リポジトリ)の作成と運用の仕方>...
* GitリポジトリホスティングサービスとGit管理ツール
[[リポジトリホスティングサービスとGit管理ツール>./Gitリポ...
ページ名:
Counter: 0, today: 0, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
フォーラム
お問い合わせ