日々淡々と進む日常に一つ足跡を

現役東大生がプログラミングに関して備忘録として記事を残していきます。

Git 勉強その①

Git勉強その①

Git - Book を見ながら勉強していきました。画像などもこちらから引用させていただいています。

Gitが既にインストール済みである状態です。インストール方法などはほかのサイトをあさってみてください。

WindowsにGit Bashを入れています。サーバーはUbuntu 16.04 LTSです。

Gitとは

バージョン管理システム。ただし、管理においては図のようにサーバー側にあるまとまりをローカル側でも持っている(このまとまりをレポジトリという)。

サーバー・ローカルという関係だけでなく、ローカルだけでもファイル・ディレクトリの管理をすることもできる。昔の状態に戻ったりできるということ。

f:id:ijm:20170217183833p:plain

Gitにおけるバージョン管理の仕方 ~概念編~

ファイル・ディレクトリが変更したときにその差分(変更点)だけ記録するのではなくその変更を踏まえたGit管理下のファイル・ディレクトリ全部を記録する。

→利点として全部記録しているため、ローカルだけで事をすますことができる(昔の状態に戻ったりなど)。ネットを介してサーバーにアクセスしなくてもこういうのができるのは利点だ。

Gitでのファイル・ディレクトリなどにはハッシュ値(例:24b9da6552252987aa493b52f8696cd6d3b00373)を与えられこれは参照・認証に使われる。

Gitではファイル・ディレクトリ(以下データと言う)に対して3つの状態を与える。ここからはローカルでの話である。

  1. コミット済 →データが完全にレポジトリに保存してある。あるデータに変更を加えた直後はレポジトリに保存されていない(コミット済みでない)。
  2. 修正済み →コミット済みではないが変更を加えたデータ。
  3. ステージ済み →修正済みのデータに関してコミットするための印がつけられたデータ。

つまり、流れとしては

「データの変更→修正済み→ステージ済みにする→ステージ済み→コミット済みにする→コミット済み」

となる。

Git Bashでの作業

概念を理解したところでこっからは作業に行きます。

個人情報登録

まずは個人情報を登録していきます。作業するにあたって、コミットを誰がしたのかとかわかった方がいいですよね。

$ git config --global user.name "ijm"
$ git config --global user.email hogehoge@ijm.com

このようにメールアドレスとユーザー名を登録します。

エディタ

Gitで使う時のデフォルトエディタとしてvimが入っています。 Git Bashvimがデフォルトで入っているのも、コミットするときに:wqでコミットメッセージを終わらせる(後でやります)のもこのことです。

とりあえず最初の概要としてはこんな感じです。 そういえば、最初の記事なのに自己紹介が遅れていましたね。(笑)

現在東京大学にいる大学生です。プログラミングを趣味や課外活動でやっています。プログラミングの知識っていうのは、実践しないと覚えづらい・だけど先に事前知識をもっていないと何をすべきかもわからないことがある、というものだと思っています。事前知識を得ようとしても中々覚えられない状態を打破しようとブログとして残していくことにしました。つたない文章ですがどうかご付き合いください。