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を利用するでもこのようにサクッとバージョン管理ができるので、ぜひ興味がある方は利用してみてください。