ページ

2012年5月1日

たった5つのコマンドで今すぐGitによるバージョン管理を始める方法

git - the fast version control system

Gitの使い方を簡単にレクチャーする機会があったので、こちらにもまとめておく。主要なコマンドは5つくらいなので、すぐに覚えられるはず。凝った使い方はこの記事の範囲外ですので悪しからず。

この記事の目的としては、とりあえずバージョン管理に触れてみるということと、ローカルで完結させるということ。

バージョン

筆者が執筆中のWindowsに入っているgitのバージョンは以下の通り。
  • git 1.7.9

0. Gitをインストールする

Git本家のサイトからGitをダウンロードしてインストールする。
http://git-scm.com/

Windowsだったらhackって書いてないやつでUnicodeって書いてあるやつがいいと思う。
Macなら新しいやつを選べばいいと思う。
Linuxユーザーは自分で考えてくださいな。

以下Windows環境ならコマンドプロンプト、Macならターミナル.appを使って作業します。いずれにせよGitのプログラムディレクトリへのパスは通しておいてください。Linuxは以下略

1. Gitリポジトリを作成する init

ワーキングディレクトリ(例えばworkspace)のプロジェクトディレクトリ(例えばprojectdir)に移動し、"git init"する。コマンドは以下の通り。
$ cd workspace/projectdir
$ git init
これでリポジトリの作成は完了。"ls -a"してみれば(Windowsなら"dir /a")、.gitというディレクトリが作成されていることが分かる。これがローカルに置かれるGitリポジトリで、プロジェクトごとに作成される。.gitを削除すればリポジトリも消える。なので、このディレクトリは触らないようにする。また、このプロジェクトにはtest.plとtest.shというファイルが既に存在していたものとする。
$ ls -a
. .. .git test.pl test.sh

2. プロジェクトの状態を確認し、ファイルを追跡する status, add

次にプロジェクトの状態を確認する"git status"コマンドを紹介する。
$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       test.pl
#       test.sh
nothing added to commit but untracked files present (use "git add" to track)
これは、test.plとtest.shがGitのコミット予定に含まれていないことを表す。git addコマンドを使うことでこれらのファイルを追跡することができるようになる。
$ git add .
addの後にファイル名を指定すればそのファイルがコミット予定に入り、"git add ."とすれば全てのUntracked filesが追跡対象となる。
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   test.pl
#       new file:   test.sh
#

3. リポジトリにコミットする commit

いよいよプロジェクトをリポジトリにコミットする。コマンドはgit commitを使う。
$ git commit -m "first commit"
[master (root-commit) 521c441] first commit
 2 files changed, 23 insertions(+), 0 deletions(-)
 create mode 100644 test.pl
 create mode 100644 test.sh
これで追跡対象のすべてのファイルがコミットされた。-mオプションを付けないとvimが立ち上がって、そこでコミットメッセージを入力することになる。"git status"すると追跡対象ファイルがなくなったことがわかり、コミットログは"git log"で見ることができる。
$ git status
# On branch master
nothing to commit (working directory clean)

$ git log
commit 521c441e339843f7dc08879a1d0a812a380650d4
Author: Shun Tak <shun_tak@windows.pc>
Date:   Tue May 1 20:06:48 2012 +0900

    first commit
このあとは、"git commit -a"とすることで追跡対象のファイルを自動的に検出してコミットしてくれるようになる。新しくファイルを作成した場合は"git add ファイル名"または"git add ."をしてから"git commit"することになる。

ちなみに、-mオプションを付けないで起動するVimは、Vimをインストールしていない場合はGit同梱のものが起動する。すでにインストールしている場合は、通しているパスの優先度順になる。

まとめ

ローカルの開発環境でGitによるバージョン管理を行うには、init, add, commitの3つのコマンドだけが必要なことが分かった。また、状態確認のstatusに加え、コミットログを見るlogコマンドを加えても5つのコマンドだけなので、謎のGUIツールなど使わずにCUIで使ってみてほしい。というかGUIツールの使い方はよくわかりませーん。

リモートも含めたpush, pull, fetchなどや、merge, branch, checkout, stashなど他にも便利かつ必須のコマンドもありますが、そちらの使い方については後日執筆します。
Related Posts Plugin for WordPress, Blogger...