対象読者
今回の対象読者は下記のとおりです。
- Windowsに関する基礎的な知識
- Gitに興味がある方
- Subversionなどの別のバージョン管理システムを利用したことがある方
必要な環境
- Git for Windows(フリー)
- Git Extensions(フリー)
Gitの操作
Gitの操作感に慣れるため、コマンド体系の説明とリポジトリの作成からコミットまでを順に説明していきます。以下、コンソールについてはbashを利用して説明していきますが、PATH環境変数を設定している場合、コマンドプロンプトでも同様に操作できます。
コマンド体系
基本的なコマンド体系はリスト1のとおりです。gitに続きコマンドとその引数を指定する形が基本です。代表的なコマンド例を表に示しますが、詳細については連載中に解説していきます。
git コマンド 引数
コマンド名 | 概要 |
---|---|
init | リポジトリの初期化 |
config | 設定の変更、表示 |
add | ステージングエリアへのファイル追加 |
rm | ファイルの削除 |
mv | ファイルの移動 |
commit | リポジトリへのコミット |
branch | ブランチの作成、情報表示 |
checkout | ブランチの切り替え |
merge | 変更内容のマージ |
pull | リモートリポジトリから変更点のマージ |
fetch | リモートリポジトリから変更点の取得 |
push | リモートリポジトリへの変更点の更新 |
remote | リモートリポジトリの設定、表示 |
status | リポジトリの状態表示 |
log | リポジトリのログ表示 |
diff | リポジトリの差分表示 |
ヘルプはリスト2の形式で表示できます。
git コマンド -h git コマンド --help
-hコマンドで簡易ヘルプがコンソールに表示され、--helpコマンドで詳細なヘルプがブラウザに表示されます。リスト3がヘルプの表示例です。
$ git status -h usage: git status [options] [--] <filepattern>... -v, --verbose be verbose -s, --short show status concisely -b, --branch show branch information --porcelain machine-readable output -z, --null terminate entries with NUL -u, --untracked-files[=<mode>] show untracked files, optional modes: all, normal, no. (Default: all) --ignored show ignored files --ignore-submodules[=<when>] ignore changes to submodules, optional when: all, dirty, untracked. (Default: all) --column[=<style>] list untracked files in columns
ハイフン1文字で始まるオプションが短形式、ハイフン2文字で始まるオプションが長形式で、どちらを指定しても同じ意味です。引数の中には片方しか存在しないものもあります。このような表現については、UNIXコマンドの流儀そのものなので覚えておいてください。
リポジトリの作成
それでは、リポジトリを作成しGitの操作について解説していきます。適当なフォルダを作成し、コンテキストメニューから[Git Bash Here]を選択します。Bashコンソールが開くため、git initコマンドを実行します。.gitフォルダ内にリポジトリの管理ファイル群が作成され、リポジトリの作成(初期化)は完了です。
statemachine@MARS /c/repository/sample $ git init Initialized empty Git repository in c:/repository/sample/.git/ statemachine@MARS /c/repository/sample (master) $ ls -l .git total 4 -rw-r--r-- 1 statemachine Administ 23 Mar 9 11:06 HEAD -rw-r--r-- 1 statemachine Administ 157 Mar 9 11:06 config -rw-r--r-- 1 statemachine Administ 73 Mar 9 11:06 description drwxr-xr-x 12 statemachine Administ 4096 Mar 9 11:06 hooks drwxr-xr-x 3 statemachine Administ 0 Mar 9 11:06 info drwxr-xr-x 4 statemachine Administ 0 Mar 9 11:06 objects drwxr-xr-x 4 statemachine Administ 0 Mar 9 11:06 refs