Git の基本 [開発環境]
Ⅰ. Git とは
システムの詳細については沢山のサイトがあるので割愛します。参考として以下のサイト等があるので必要であれば参照のこと。
- http://ja.wikipedia.org/wiki/Git
- http://www8.atwiki.jp/git_jp/pages/15.html
- http://blog.asial.co.jp/894
Ⅱ. Git インストール
WindowsでGitを利用するには、CygwinとMYSYSを利用する2つの方法がある。今回は両方の方法でインストールしてみた。
◆Cygwin版
Cygwinはインストール済みとして進める。Cygwinのインストール方法については以下参照のこと。
① Cygwinのsetup.exeを起動する。
② パッケージ選択画面のSearch欄に”git”と入力し、必要なパッケージを表示する。
③ ここで以下のパッケージを選択する。
- git Git本体
- git-completion Gitの自動補完を行うためのもの
- git-gui GUIビューア(要らない)
- git-svn GitからSubversionリポジトリにアクセスする際に必要
- gitk gitk()
⑤ Cygwinターミナルからgitがインストールされたことを確認する。
◆MYSYS版
① 以下のmysysgitのサイトからインストーラをダウンロードする。
② ダウンロードしたインストーラを起動し、チェックアウト及びコミット時に改行コードを変換の設定を「何もしない」に変更し、あとはデフォルトのままインストールを行う。
③ インストールが完了すると、コマンドライン版の"Git Bash"とGUI版の"Git GUI"がインストールされる。
Git Bash
Git GUI
以上でインストールは完了、ちなみにWEB上にはMYSYS版の情報が多いきがする。
Ⅲ. 個人の識別情報
Gitをインストールしたときに最初にすべきことは、ユーザー名とE-mailアドレスを設定することです。全てのGitのコミットはこの情報を用いるため、これは重要で、次々とまわすコミットに永続的に焼き付けられます
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
Ⅳ. Git コマンド
とりあえず使いそうなコマンド:
git init
バージョン管理相性のフォルダに移動してからこのコマンドを実行することで、.gitフォルダが出来、バージョン管理の対象になる。
git add
コミットするファイルを指定する。
.(ピリオド) :現在のワークツリーの状態を記録する。
-u :ワークツリー内のすべてのファイルを記録する。
-A :新しく作成されたファイルを含めてインデックスに記録する。
-p :どの変更が次回のコミットに含めるかを選択して、インデックスに記録する。
git commit
変更をコミットする。
-m “最初のコミット” :コメントをログメッセージとして記録できる。
-a –m “ログメッセージ” :ワークツリー内のファイルすべての現在の状態を記録したコミットを作成する。
-v :git commint, git diff の結果がまとめて表示される。
--amend :ひとつ前のコミットを破棄して新しくコミットする。
git diff
前回の git add 以降に加えた変更が確認できる。
git status
git commitを実行した場合にどのファイルへの変更がコミットされ、どのファイルへの変更はコミットされないかと確認できる。
git checkout ファイル名
引数で指定したファイルをインデックスの状態に戻す。
git clone A.git B.git
Aリポジトリをコピーする。
git config
どのようにGitが見えて機能するかの全ての面を制御できる設定変数を取得し、設定することができます。
ちなみにプロキシの設定は以下となります。
git config --global http.proxy http://host:port
他にもあるが、ここでは最小限のコマンドのみの解説とした。他のコマンド説明は以下で確認できる。
- http://sourceforge.jp/magazine/09/03/16/0831212
- http://npnl.hatenablog.jp/entry/20101107/1289121576
- http://blog.digital-squad.net/article/123090058.html
- http://kray.jp/blog/review-git-commands/