blog/content/post/2009/06/02/2009-06-02-00001168.md

16 KiB

title author date wordtwit_post_info categories
gitのチュートリアル kazu634 2009-06-02
O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:4631;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}
git

WEB+DB PRESS Vol.50』の特集を見ながらまとめてみるよ:

初期設定

こんな感じでgitに自分の名前とメールアドレスなどを教えて上げるといい。

#!/bin/bash
# Name
git config --global user.name "Kazuhiro MUSASHI"
# E-Mail
git config --global user.email "simoom634@yahoo.co.jp"
# Colour
git config --global color.ui auto
# Ignoring files
# http://ogijun.g.hatena.ne.jp/secondlife/20080306/1204774860
git config --global --add core.excludesfile "$HOME/.gitignore"

リポジトリの初期化

~/working/cgi on simoom634 [523] $: git init
Initialized empty Git repository in /Users/simoom634/working/cgi/.git/
~/working/cgi on simoom634 [524] $: ll
total 8
drwxr-xr-x   3 simoom634  staff  136  6  2 22:47 ./
drwxr-xr-x  10 simoom634  staff  374  6  2 22:36 ../
drwxr-xr-x   7 simoom634  staff  340  6  2 22:47 .git/
-rw-r--r--   1 simoom634  staff   89  6  2 22:47 weekday.pl

最初のコミット

ワークツリーの全てのファイルの今の状態を記録することにします:

~/working/cgi on simoom634 [527] $: git add .
~/working/cgi on simoom634 [528] $: ls
weekday.pl
~/working/cgi on simoom634 [529] $: git commit -m "Initial Commit"
Created initial commit 89d0eeb: Initial Commit
1 files changed, 8 insertions(+),  deletions(-)
create mode 100644 weekday.pl
  • git add .: 現在のディレクトリ以下すべてのファイルの状態を記録したい
  • git commit: コミットの作成

二度目のコミット

git commitしてから、管理対象のファイルを編集します。そうしてからgitのレポジトリとのdiffをまず撮ってみます。そうしてから、コミットしてみる:

~/working/cgi on simoom634 [539] $: git diff
diff --git a/weekday.pl b/weekday.pl
index fc3b11f..0a9115d 100644
--- a/weekday.pl
+++ b/weekday.pl
@@ -2,7 +2,22 @@
use strict;
use warnings;
-use Data::Dumper;
+use CGI;
+use Time::Local;
 # === Main part ===
+my $q = new CGI;
+# クエリから年と月を得る
+my $year = $q->param('year');
+my $month = $q->param('month');
+
+# 指定された月の1日を得る
+my $firstday = timelocal(, , , 1, $month - 1, $year - 1900);
+
+# その年の曜日を得る
+my ($n_sec, $n_min, $n_hour, $n_day, $n_mon, $n_year, $w_day) = localtime($firstday);
+my $wdaystr = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat')[$w_day];
+
+print("Content-type: text/html; char-set=utf-8\n\n");
+print("$year$month月は$wdaystrから始まります。\n");
~/working/cgi on simoom634 [540] $: git add weekday.pl
~/working/cgi on simoom634 [541] $: git commit
Created commit b92fda4: Sample Scriptを入力
1 files changed, 16 insertions(+), 1 deletions(-)