バージョン管理システムが導入されていると色々と便利な事が多いですよね。
しかし、バージョン管理システムが自由に使えてリポジトリをさっさと作れる環境にいる人もそこそこいるのだろうけど、例えばサーバ管理者に依頼とかしないと使えない人、そもそもサーバから作らなければいけない人などは、ちょっとした物を作るのにも手軽にという訳にはいきませんし、SVNなどの中央集中型だとネットワーク接続がある事が前提なので、任意の時点でコミット出来ないなど、不便な事もあります。
そんな時におすすめなのがGitです。本来はDVCSとして使用する物なのでしょうが、個人のローカルで使用するという用途でも十分(というかパワフルに)役に立ちます。
インストールは使用中のOSにあわせて
からモジュールをダウンロードしてインストールすれば良いでしょう(コマンドラインの場合)GUIツールや統合環境用のプラグインなんかも結構ありますが、今回は扱いません。
インストールが終わったら、使いはじめます。コマンドラインシェルで管理したいディレクトリに移動して
$ git init
※$はコマンドラインのプロンプトです。実際の入力は$以降を入力して下さい。
これだけです。
これでそのディレクトリはgitで管理出来るように初期設定が完了しました。
実行したディレクトリに「.git」というディレクトリが出来ているはずです。
それでは、ファイルを追加してみましょう。
先程のフォルダに適当なテキストファイルを作成します。ここではファイル名test.txtとします。
ここで
$ git status
を実行して下さい。
このコマンドは現在管理しているフォルダのgitからの管理状態を表示するコマンドです。出力は
# Initial commit
#
# Untracked files:
# (use "git add ..." to include in what will be committed)
#
# test.txt
のように出力されるはずです。
さて、ではgitの管理下にファイルを追加してみましょう。
$ git add test.txt
を実行します。特にメッセージは表示されません。
再度、上記で実行したgit statusで状態を見てみましょう。
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached ..." to unstage)
#
# new file: test.txt
こんなメッセージが表示されたのでは無いかと思います。少しメッセージが変化してますね。
new file : test.txtがgitにこのファイルが管理対象のファイルとして認識された事を示しています。この段階ではまだコミットはされていません。
コミットするには
$ git commit -m "メッセージ" test.txt
を実行します。メッセージの部分は各自適当に書き換えて下さい。実行すると
[master (root-commit) 4584a10] commit 1
1 file changed, 2 insertions(+)
create mode 100644 test.txt
こんな感じのメッセージが出力されてと思います(実行環境や状態により、メッセージは完全に同じでは無いです)
ここで再度git statusを実行すると
# On branch master
nothing to commit (working directory clean)
と出力されます。現在管理下にあるファイルのコミットは全てコミットされ、変更も特にない状態を示しています。
ここで、test.txtを適当に編集してセーブしてみましょう。その後またgit statusを実行すると
# On branch master
# Changes not staged for commit:
# (use "git add ..." to update what will be committed)
# (use "git checkout -- ..." to discard changes in working directory)
#
# modified: test.txt
こんなメッセージが出力されるはずです。midifiedの部分で、gitが管理下のファイルが変更された事を認識している事が分かります。
ここで実際は実験的な修正を行っていたとして、それが気に入らなかったとしましょう。そういう場合、一つ前にコミットした状態にファイルを戻したいですよね。そういう場合は
$ git checkout HEAD ファイル名
を実行します(HEADは今の所魔法の呪文なので、気にしないで下さい。既存のVCSを使った事があるなら想像は付くかもしれませんが)。
その後、git statusを実行すると
# On branch master
nothing to commit (working directory clean)
のように表示されるはずです。実際のファイルの内容も以前のコミット状態に戻っているはずです。
さて、再度編集した後に気に入った修正が出来たら上でも行った
$ git commit -m "メッセージ" test.txt
※メッセージの部分は適当で
を実行しましょう。
ここまでで概ね基本的な使い方は習得できたかと思います。これでも管理を始めるの為の敷居の低さで既存のセンター集中型バージョン管理システムよりは始めやすいと思います。
が、まだまだこれはGitの入り口レベルです。次回でGit特有の便利な使い方を詳解していきたいと思います。
この記事で実行したコマンドを知りたい方は、インストールで使用したGit公式URLや、もしくは色んな方が記事を書いているのでそちらを参照して下さい。
ではまた次回(いつになる事やら)