Git入門|今すぐ始めるバージョン管理のイメージ画像

Git入門|今すぐ始めるバージョン管理

  • 公開日:2020/08/25
  • 更新日:2020/08/25
  • 投稿者:n bit

Gitのバージョン管理気になっていたがなかなか始められなかった方に向けて、今すぐバージョン管理を始めることができる1連の流れを示した解説記事を公開。この記事の手順に沿って始めれば誰でも今すぐバージョン管理を導入することができます。

  • Python

この記事は約 分で読めます。(文字)

プログラムコードを書いていると必ず欲しくなるバージョン管理。バージョン管理とは変更点をバージョンごとに記録し、後日遡ったり、確認したりできる管理機能のこと。

Gitも色々と詳しく勉強し始めると奥が深く時間がかかってしまい結局導入できていない人が多いようです。せっかく便利なバージョン管理機能、今回はまず使えるようにするということに焦点を当てて解説しました。

それでは早速使い方に入っていきましょう。

Gitが使えるクラウドサービス

ローカル環境だけでもバージョン管理はできますが、せっかくなのでクラウドサービスを併用してバックアップをしながらバージョン管理していきましょう。

クラウドサービスでGitが使えるサービスは複数あるのですが、有名どころは

  • Github
  • Bitbucket

辺りでしょう。

簡単に特徴を説明するとGithubは不特定多数の方に共有するプログラムをバージョン管理する場合に向いたサービス。Bitbucketはプライベートで利用するプログラムをバージョン管理するのに向いたサービス。

  • Github:共有プログラムのバージョン管理に向いている
  • Bitbucket:非公開プログラムのバージョン管理に向いている

いきなり共有プログラムのバージョン管理をすると言うケースは少ないと思いますので、まずはBitbucketから始めると良いと思います。

どちらも1人で利用しファイルサイズの小さいものを扱う範囲であれば無料で使うことができるので大変便利。利用していく中でどうしても機能が足りなくなってきた場合は有料サービスへの移行を検討すれば良いでしょう。

Bitbucketの新規アカウント作成

Bitbucketに新規のアカウントを作成します。既にアカウントをお持ちの方はそのままログインし、こちらのセクションを飛ばしてください。

Bitbucketのサイトにアクセスします。

トップページが表示されたら右上の『Get it free』ボタンを押して登録画面に進んでください。

Bitbucket トップページ

複数のアカウント登録方法が選択できますが、メールアドレスで作成するのがオススメ。

Bitbucket 新規アカウント作成

後は指示に従って進めていけばアカウント登録は完了。途中メール認証があります。

正常にアカウントの登録が完了すると下記のホーム画面が表示される。最初に左のメニューから『プロジェクト』を選択し新規のプロジェクトを作成しましょう。

Bitbucket 新規プロジェクト作成

表示された画面で『プロジェクトの作成』ボタンをクリックすれば下記の入力ウインドウが表示されます。NameとKeyに任意で値を入力してください。今回は非公開での利用ですのでPrivate projectにチェックを入れたままにしておきましょう。

  • Name:プロジェクト名
  • Key:自動で入力されます
  • Private project:チェック

全て入力できれば『プロジェクト作成』ボタンをクリックして次に進みます。

Bitbucket 新規プロジェクト作成入力内容

リポジトリ画面が表示されますので「リポジトリの作成」ボタンをクリックして新しいリポジトリを作成しましょう。

Note

リポジトリ

リポジトリとはデータを格納する箱のようなものと認識しておけば大丈夫です。

Bitbucket 新規リポジトリ作成

新規リポジトリ作成ウインドウが表示されます。リポジトリ名を入力、READMEを含めますか?
の設定をNoに変更して『リポジトリを作成』ボタンをクリックしましょう。

  • リポジトリ名:管理したいファイルが格納されたローカルのディレクトリ名に合わせておくのがオススメ。
  • READMEを含めますか?:No

Bitbucket 新規リポジトリ作成入力内容

新規で作成されたリポジトリの初期画面が表示されます。これでクラウドサービス側の準備は完了。

Bitbucket 新規リポジトリ初期画面

『ステップ2:既存のリポジトリをBitbucketに接続する』セクションの1行目に表示されているリモートリポジトリの接続先をコピーしておきましょう。後ほど使います。

git remote add origin https://xxxxx@bitbucket.org/xxxxx/test_dir.git

ローカルディレクトリのバージョン管理の始め方

ローカルディレクトリのバージョン管理を始めます。現在のディレクトリ構成は下記の通り。

  • ローカルディレクトリ:test_dir
.

├── del
│   └── tmp.py
└── main
└── main.py

mainとdelの各ディレクトリに1ファイルずつPythonファイルが格納されていますが、どちらも『import os』を記述しただけの簡単なファイルです。

このままいきなりバージョン管理をスタートしても良いのですが、覚えておくと便利な機能を2つほど紹介しておきます。

  • README.md:説明用のテキストファイル
  • .gitignore:バージョン管理するディレクトリやファイルのコントロール

です。なくてもバージョン管理を始めることはできるのですが、非常に使い勝手が良いので始めるタイミングで導入しておきましょう。

各ディレクトリごとに用意することもできますが今回はトップ階層のディレクトリのみに設置しました。ディレクトリ構成は下記のように変わります。

.
├── .gitignore

├── README.md
├── del
│   └── tmp.py
└── main
└── main.py

README.mdの記述

README.mdの内容は自由に記述可能。今回は非公開での利用ですので、このプロジェクトファイルを管理するのに自分が覚えておくと便利な内容などを記述しておくと良いでしょう。

またREADME.mdはマークダウン形式に対応していますので見やすいレイアウトを簡単に組むことができます。下記に一例を示しておきました。特に記述することがない方は下記の内容をそのままコピーアンドペーストしておいても良いでしょう。

# README


* 開発データのバージョン管理

## バージョンの管理体制

### バージョン管理の除外項目

下記の項目は必要であればローカルでバックアップを取ること.

* del ディレクトリ

.gitignoreの記述

.gitignoreにはバージョン管理から除外したいディレクトリやファイルを指定します。今回は試しにdelディレクトリをバージョン管理から除外してみましょう。記述内容は下記の通り。

del/

ディレクトリ名の末尾に「/」をつけておくことで、「そのディレクトリと、その配下全てを除外」を指定できる。

今回であればdelディレクトリと、その中のtmp.pyがバージョン管理から除外されます。

ディレクトリのバージョン管理

準備は全て完了しました。それではディレクトリのバージョン管理を始めていきましょう。

最初にバージョン管理を行うディレクトリ内に移動します。

% cd /Users/xxxxx/Documents/test_dir

バージョン管理するための初期ファイルを作成。

% git init

.gitignoreで除外されたディレクトリやファイル以外の全てをバージョン管理に含め、最初のコミットを行います。

Note

コミット

コミットとは各バージョンの内容示したサマリーメッセージのようなものと認識しておけば大丈夫です。

% git add -A

% git commit -m "first commit"

『first commit』と記述している部分は自分がわかりやすいものに任意で置換可能です。

ファイルサイズを整理し、最終のファイルサイズを確認しておきましょう。

% du -sh .git/objects

16K .git/objects

これでローカルディレクトリのバージョン管理を始めることができました。

リモート環境にバージョン管理ファイルをpush

ローカルでバージョン管理した内容をリモート環境にpushしておきましょう。

Note

push

pushとはアップロードと同じようなものと認識しておけば大丈夫です。

push先のリモートリポジトリを指定。リモートリポジトリの設定時はBitbucketで作成したリポジトリの初期画面に表示されていたのをコピーしておいたものです。

% git remote add origin https://xxxxx@bitbucket.org/xxxxx/test_dir.git

後はpushするだけ。

パスワード要求されますのでBitbucketアカウント作成時のパスワードを入力しましょう。

% git push -u origin master

Bitbucket側の画面をいちど更新してみましょう。下記のようにローカルのバージョンを管理したリポジトリ内容がリモートリポジトリにpushされているのが確認できます。

また、README.md内にマークダウン形式で表記した内容も下部に正しく表示されました。

Bitbucket 新規コミット

ここまででリモートのGit環境を含めたバージョン管理の始め方に関する1連の手順は終了です。

ローカルディレクトリのバージョン管理

ファイルの内容が更新されたときのバージョン管理方法も確認しておきましょう。先ほどまでの解説は最初に一回行うだけ。ここからはファイルの内容を更新するたびに日々行う手順となります。

適当にファイルの内容を何か書き換えてみてください。今回はmain.pyに『import csv』を追加してみました。

最初に現在の状態を確認します。

% git status

表示されたメッセージの中に『modified:   main/main.py』と言う表記があると思います。main.pyが変更されたことが認識されています。

コミットしてpushしましょう。基本的なコマンドの流れは先ほど行ったものとよく似ています。リモートリポジトリの指定は既に終わっていますので、それがなくなっただけといったイメージです。

% git add -A

% git commit -m "add csv"
% git gc
% du -sh .git/objects
% git push -u origin master

これだけでバージョンの管理とリモートリポジトリへのpush作業は完了です。

Bitbucketを確認してみましょう。

main.pyが格納されたmainディレクトリのみコミットメッセージが変更されていることが確認できます。

Bitbucket 追加コミット

左メニューからコミットを選択しコミットのIDをクリックしてください。

Bitbucket コミットID

変更された箇所が色違いでハイライトされているのが確認できます。このようにバージョン管理ファイルごとに『どこが変更されたのか』後々詳しく確認することもできるのがバージョン管理の1つのメリットと言えるでしょう。

Bitbucket コミット内容

今日のdot

Gitを使ったバージョン管理の始め方、いかがだったでしょうか。初めて行った方は少し複雑に感じたかもしれませんが、いちど覚えてしまえば日々のバージョン管理は1分もかかりません。ファイルを複製して管理したり、名前を変更して管理したりといった手間がなくなるのでいちど導入すると止められなくなるでしょう。

Gitにはこのほかにも便利な機能がいくつもあります。ただ、最初から全てを覚えようとするとなかなか大変で時間もかかりますので、まずはこのバージョン管理の恩恵を受けることを目的とし、利用していく中で徐々に覚えていくのがオススメの学習方法。

まずは、今回の手順を参考にあなたの開発環境にもバージョン管理を導入してみましょう。