(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Cygwin】Gitをインストール&利用する手順

スポンサーリンク

Gitの基本的な説明は以下に書きましたが、

本記事では実際にWindows環境にて利用する流れを実際のログを貼りながら詳細に記載してみました。

事前準備

Gitをインストールするためにapt-cygというツールを利用します。
本ツールが入っていない場合は以下の手順にてインストールしてください。

$ wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
...
$ chmod 755 apt-cyg
$ mv apt-cyg /usr/local/bin/
$ which apt-cyg
/usr/local/bin/apt-cyg

Updateもしておきます。

$ apt-cyg update
...
`setup.bz2' に保存中
...
Updated setup.ini

Gitをインストール

apt-cygを利用してgitをインストールします。

$ apt-cyg install git
Installing git
...
Running /etc/postinstall/libsasl2_3.sh
Running /etc/postinstall/openssh.sh
Running /etc/postinstall/openssl10.sh
Running /etc/postinstall/zp_man-db.sh
Package git installed

念のためパスが通っていることを確認します。

$ which git
/usr/bin/git
$ git --version
git version 2.21.0

Gitの初期設定

以下のようにGitに設定を入れます。
今回は、エディタをviとする設定及びstatusコマンドにて自動的に色が付くようにしました。

$ git config --global core.editor 'vi'
$ git config --global color.status auto
$ git config --list
core.editor=vi
color.status=auto

上記設定の実体はホームディレクトリの.gitconfigに格納されています。

あとは名前とメールアドレスも入れます。

$ git config --global user.name "First-name Family-name"
$ git config --global user.email "username@example.com"

これをしないと最初のコミット時に以下のようにエラーとなります。

Please tell me who you are.

Gitのリポジトリを作成

個人利用なのでまずはローカルにリポジトリを作成します。

$ git init
Initialized empty Git repository in /home/xxx/.git/

作成後に.gitディレクトリを見ると以下のようなファイル群が作成されています。

$ tree .git
.git
├── config
├── description
├── HEAD
├── hooks
│   ├── applypatch-msg.sample
│   ├── commit-msg.sample
│   ├── fsmonitor-watchman.sample
│   ├── post-update.sample
│   ├── pre-applypatch.sample
│   ├── pre-commit.sample
│   ├── prepare-commit-msg.sample
│   ├── pre-push.sample
│   ├── pre-rebase.sample
│   ├── pre-receive.sample
│   └── update.sample
├── info
│   └── exclude
├── objects
│   ├── info
│   └── pack
└── refs
    ├── heads
    └── tags

初期コミット

コミットの練習として、何も修正していない状態でコミットを行います。

$ git commit --allow-empty -m "first commit"
[master (root-commit) 6cdf667] first commit

ファイルをステージング

今回はhoge.rというファイルを追跡すべくaddします。

$ git add hoge.r

この状態でstatusを確認すると以下のようにhoge.rが追加されたことが分かります。

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
        new file:   hoge.r
Untracked files:
....

試しにhoge.rを修正してから再度statusを確認すると修正が検知されています。

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
        new file:   hoge.r
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
        modified:   hoge.r
Untracked files:
...

ファイルをコミット

今回はこの修正内容でコミットすることとします。

$ git commit -m"edit test hoge.r"
[master 8347a8a] add comment hoge.r
 1 file changed, 22 insertions(+)
 create mode 100644 hoge.r

コミットされました。

ログを確認するときちんとコミットメッセージと共に履歴管理されています。

$ git log
commit 8347a8a6b02066e8b255d2e74a4df6bf258XXXX (HEAD -> master)
Author: ...
Date:  ...
    edit test hoge.r

commit 6cdf667bdc649fe08103756bfa13d8d0ff1XXXX
Author: ...
Date:   ...
    first commit

終わりに

今回は個人利用におけるGitの初期設定及びコミットまでの流れを記載しました。
Cygwinを利用するでもこのようにサクッとバージョン管理ができるので、ぜひ興味がある方は利用してみてください。