韜晦日記

韜晦日記

Rietveldよりもプログラミングメインになりつつある

Rietveld解析初心者による備忘録とつぶやき

Gitでプログラムも論文もバージョン管理する

もはや何番煎じかわからないくらいのGit解説記事。需要は皆無だろうけど備忘録としてまた世の中に無駄な記事を増やします。

はじめに

大学院の生活にも慣れ、何故かあるテスト期間も終わり、実験し放題の夏です。 かくいう僕は合間を縫って兼ねてから計画していたソフトウェア開発に着手している訳ですが、ここで気になってくるのがバージョン管理の問題です。 新たな機能の追加やプログラムの分岐に役立つのがGitです。 このGitの操作方法について忘れないように簡単に記します。

Gitとは

Gitは、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムです。(by Wiki) プログラムではないですが、私の卒論の作成時にはこんな感じにファイルが増殖していました。

f:id:tanisuke_str:20180811131457j:plain:w640
大量に増殖したファイルたち。
これは最高にダサい。Gitを使えば見かけ上のファイルを1つのままにバージョンの管理が容易にできるようになります。そして変更履歴を保存しているのでいつでも過去の状態に戻すことができます。 変更中に戻したくなったが間違って上書きしてた!!死! なんて悲劇は起きなるでしょう。

Gitの操作

git init →リポジトリの初期化

Gitの操作ではまず始めにリポジトリを初期化します。 リポジトリは変更履歴を保存する倉庫のようなものと思っています。 まずは最初にGit管理するフォルダを作成し、git initコマンドを使用してリポジトリの初期化を行います。 対象となるディレクトリをcdしてそこでgit initします。

$ mkdir git-tutorial
$ cd git-tutorial
$ git init
Initialized empty Git repository in /Users/abekeishi/Public/Programing/git-tutorial/.git/

すると.gitという65kB程度の隠しフォルダが生成されます。 Gitではgit-tutorialフォルダをワークツリーを呼び、ここでファイルの編集を行います。 そして生成されたリポジトリで変更履歴の管理を行います。

git status → リポジトリの状態を確認

Gitリポジトリの状態を表示するためにはgit statusコマンドを使用します。 その前にREADMe.mdファイルを作成して見ます。

$ touch READMe.md
$ git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    .DS_Store
        touch READMe.md
nothing added to commit but untracked files present (use "git add" to track)

On branch masterと表示され、現在はmasterブランチにいることがわかります。 またUntracked files.DS_Storetouch READMe.mdが表示されています。 これはまだリポジトリに追加されていないファイルを示しています。

git add →ステージ領域へフィルを追加

先ほどの操作でもわかりますが、ファイルを作成しただけではリポジトリには追加されません。 リポジトリへの追加はgit addを叩きます。

$ git add READMe.md
$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

    new file:   READMe.md

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    .DS_Store

こうすることによって変更が適用されます。

git commit →リポジトリの履歴を記録

git commitコマンドは、ステージ領域に登録されている時点のファイル群を実際にリポジトリの履歴として記録します。 この履歴を元にワーキングツリーに復元したり更新したりすることができます。

git commit -m "First commit" →一行のコミットメッセージを記述

$ git commit -m "First commit"
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 READMe.md
 create mode 100644 test.txt

取り敢えず今日はこの辺にします。