githubを使い始めたので、gitについての使い方メモです。
gitをインストールしたところからの作業になります。
初期設定
コミットした時などに表示されるユーザ名とメールアドレスを設定します。
$ git config --global user.name "memememomo" $ git config --global user.email "memememomo@gmail.com"
また、コマンドからの出力を読みやすくするために、color.ui設定をautoにします。
$ git config --global color.ui auto
以上の設定は「$HOME/.gitconfig」ファイルに記述されます。
$ cat $HOME/.gitconfig [user] name = memememomo email = memememomo@gmail.com [color] status = auto branch = auto ui = auto
作業領域をgitバージョン管理対象にする
「homepage」というディレクトリに「index.html」ファイルが入っているとします。
このディレクトリをgitバージョン管理対象にします。
「homepage」ディレクトリに移動して、コマンドを実行します。
$ cd homepage $ git init
実行すると同ディレクトリに「.git」というディレクトリができます。
このディレクトリがリポジトリとなります。
この時点では、index.htmlファイルはバージョン管理下にありません。
つまり、リポジトリから見てindex.htmlファイルはどういうものかは知りません。
「git status」コマンドを打つと「Untracked files:」という項目に「index.html」があるのが分かります。
$ git status # On branch master # # Initial commit # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # index.html nothing added to commit but untracked files present (use "git add" to track)
index.htmlファイルはまだトラックしていないファイルだということを表示しています。
index.htmlファイルをトラックするようにするには下記のコマンドを打ちます。
$ git add .
このコマンドの後にもう一回「git status」を打つと表示が変わるかと思います。
この時点では、まだリポジトリに変更を確定していません。
変更をリポジトリに確定する事を「コミット」といいます。
コミットをするコマンドを打ちます。
$ git commit -m "First commit"
これでリポジトリに変更が反映されます。
普段の開発の流れ
gitを用いた開発の流れは下記のようになります。
- ファイルを編集、新規作成
- 「git status」で変更状況を確認。「git diff」で変更箇所を確認。
- 編集作業が終わったら「git add ファイル名」または「git add -u」で変更ファイルを記録する指定を行なう。
- 「git commit」でリポジトリに変更箇所を反映
となります。これは一人で開発している時の流れになっています。
また、「git add -u」と「git commit」を一括で実行する「git commit -a」というコマンドがあります。
.gitignoreの設定
同じディレクトリにバージョン管理するべきでないファイルがあるときがあります。
例えばemacsを使っていると「index.html~」というバックアップファイルができます。
こういうファイルは、「git status」で毎回必ず表示されてしまいます。
こういったファイルを無視するように「.gitignore」を設定します。
$ cat .gitignore <<\EOF *~ EOF
これでバックアップファイルが無視されるようになります。
共同リポジトリを作成
いままでのリポジトリは、個人的なものです。
このリポジトリだけでも共同作業ができるのですが、やはり共同用のリポジトリがあると便利です。
下記の手順で共同用のリポジトリを用意します。
$ mkdir ~/pub/repository/homepage.git $ cd ~/pub/repository/homepage.git $ git init --bare
これで、「~/pub/repository/homepage.git」という共同用リポジトリができました。
次に、共同用リポジトリに個人用のリポジトリの設定を反映させます。
$ git push ~/pub/repository/homepage.git master
これで、共有リポジトリからコピーを持って来れるようになりました。
コピーを持ってくるには下記のようにします。
$ git clone ~/pub/repository/homepage.git homepage.new
homepage.newで編集作業を行なった時に、共同リポジトリに反映させる手順は下記のようになります。
① $ emacs profile.html ② $ git commit -a "add prifile.html ③ $ git push origin master
homepage.newの変更をhomepageディレクトリに反映させる場合、
homepageディレクトリ下で下記のコマンドを実行します。
$ git pull ~/pub/repository/homepage.git
コマンドを実行すると、profile.htmlファイルが反映されます。
この流れで共同開発が行なわれます。
githubを使った作業
共同リポジトリは、同じコンピュータにある必要がありません。
ネットワークに繋がっている他のコンピュータにある共同リポジトリからコピーを持ってくることもできます。
cloneやpushやpullは、ネットワークを通じて行なわれます。
通信をどのようなプロトコルで行なうかは、選択できるようになっています。
githubでは、共同リポジトリを作成して、Web上で共有できるサービスとなっています。
参考
- 作者: 杉山貴章,羽生章洋,小飼弾,角田直行,橋本正徳,はまちや2,久末隆裕,Junio C Hamano,グニャラくん,やまだあきら,川口耕介,青木靖,鶴岡直也,長野雅広,森田創,伊藤直也,武者晶紀,ミック,高林哲,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2009/04/24
- メディア: 大型本
- 購入: 22人 クリック: 206回
- この商品を含むブログ (95件) を見る
「はじめてのGit」という記事で、かなり詳しく解説がなされています。
初心者用・・・?