LoginSignup
37
51

More than 5 years have passed since last update.

~バージョン管理を始めよう~gitの導入からバージョン管理を行うまで

Posted at

はじめに

プログラミングをしていて、こういう時があると思います。

  • プログラムを書いていて、ちょっと前の状態に戻りたい!ってなっても手遅れ...
  • 複数人での開発でソースコードをどうやって管理しよう?
  • 機能別に担当を分けたけど、ソースコードを合わせる時に手間がかかる...

そういう時にgitを使うと、とても便利になります。

この記事で扱う内容は以下の通りです。

  • gitのインストール
  • GitHubのアカウント作成
  • gitでバージョン管理
  • ソースコードをリモート環境にあげる

gitとは

まずはgitとは何か説明します。

gitは、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。
git|Wikipedia

ちょっとよくわかりませね。

「一言で言うと」:ソースコードのバージョンを管理できて、さらにソースコード同士を合わせることができるシステムです。

gitにおけるバージョン管理の概念

それではgitの概念を図を使って説明します。
Untitled Diagram2 (1).png
ソースコードは、ファイル作成を行い、コードを書き、各種機能を実装する。このような流れで現在のソースコードが生み出されていると思います。

この中におけるソースコードのバージョンとは

  • 日本語入力に対応した
  • 〜の関数を追加した
  • 〜する機能を実装した
  • コードが汚かったのでリファクトした

などなど色々な状態があると思います。
gitのバージョン管理はこのような変更点をコミットという区切りでバージョンを作っています。
図で言うと、現在のソースコードはVersion4 のコミットの状態です。
もしリファクトが失敗してリファクト開始時にコードを戻したい時にはVersion3のコミットに戻るとそれができます。
gitではコミットを自分で付与することで、ソースコードのバージョンを生み出し、それを管理することができます。

gitにおけるローカル環境とリモート環境

次はgitにおける重要な概念であるローカル環境とリモート環境について説明します。

Untitled Diagram.png

  • ローカル環境は自分のPC
  • リモート環境はWeb上

という認識で問題ありません。
コードを書いているということは、主にディレクトリの中にソースコードが複数ファイル入っている状態だと思います。(一つだけのファイルでも考え方は同じです。必ずディレクトリに入っているはずです)
gitでは、ディレクトリを対象にバージョン管理が行われます。その対象を
リポジトリと呼びます。

gitはローカル環境(自分のPC)だけでもリポジトリを対象に作業はできるのですが、バックアップやオープンソース、チーム開発を簡単にできるなどの利点からリモート環境(ネット上)を使って作業をすることが多いです。
gitは簡単にリモート環境にローカル環境にあるリポジトリをあげることができます。

これまでの内容を復習しましょう。

「一言で言うと」:gitを使ったバージョン管理では、ソースコードに対してコミットを行うことでバージョンを管理して、それをリモート環境にあげることで管理を行っている。

gitの導入

ではさっそくgitを導入する手順を踏んでいきます。

gitのインストール

まずはgit自体をインストールしましょう!

Windowsの人は以下のリンクからgitをダウンロードしてインストールしましょう。
git for windows

Macの人は元からgitがインストールされています。

$ git --version

上記コマンドでバージョンが確認できたらgitの導入は完了です。

GitHubのアカウント作成

gitにはリモートリポジトルを管理するgitのホスティングサービスがいくつか用意されていて、便利です。
普通はどれかのサービスを使います。

以上の3つが代表的な例です。

それぞれ特徴があるので、自分たちのチームに合わせて使い分けましょう。一番有名なのはGitHubです。
参考

今回はGitHubで管理をします。

以下のリンクを参考にGitHubのアカウントを作成しましょう。
GitHubの登録について

これでgitでのソースコード管理の準備は整いました。

gitコマンド

実際にgitはWindowsならgit bashまたはコマンドプロンプト(コマンドプロンプトを利用する場合はgitインストール時に設定をする必要があります)、macならターミナルを用いてgitコマンドを入力してgitの機能を利用します。

以下のリンクを参考にいくつかコマンドを見てみてください
gitコマンド

非常にコマンドが多くて覚えれない!と思うと思いますが実際に使うのは一部です。
次で実際に使うコマンドを混ぜながら、gitでのバージョン管理を行いましょう!

gitでのバージョン管理

さっそくgitでソースコードを管理しましょう。
Untitled Diagram3.png

簡単な流れを上記の図に示します。
「一言で言うと」:リポジトリを作成して、コミットを重ねる、ある程度コミットがたまるとプッシュする。

gitはローカル環境に3つの段階にソースファイルが存在する場所が分けられています。
変更を加えたファイルは最初ワークツリーに存在します。

  • (ワークツリー)変更を加えたファイルをステージングエリアに追加 (add)
  • (ステージングエリア)addされたファイルをローカルリポジトリに登録 (commit)
  • (ローカルリポジトリ)コミットで登録された情報をリモートリポジトリに追加(push)

addとcommitは主に連続で行うので、セットと考えてください。

それでは詳しい流れを見せていきます。

1.GitHubでリモートリポジトリ作成(GitHubのページ)
kobito.1479090942.868435.png

2.コマンドでローカル環境にリポジトリ作成(ターミナル、GitBash)

$: git init

3.管理するフォルダをGitHubのリモートリポジトリに登録(ターミナル、GitBash)

$: git remote add origin https://github.com/[ユーザー名]/[リポジトリ名].git

4.ソースファイルを変更する

5.ファイルの作成/変更/削除など、変更を加えたファイルをステージングエリアに追加(ターミナル、GitBash)

$: git add .

6.addされたファイルをローカルリポジトリに登録(ターミナル、GitBash)
※コミットにはどのようなバージョンなのかを分かりやすくするためにコメントを付けます。

$: git commit -m "コメント"
  1. 4.→5.→6.の作業を繰り返す(ある程度作業が一区切りついた場合は8.へ)

9.ローカルリポジトリをプッシュしてリモートリポジトリへ反映させる(ターミナル、GitBash)

$: git push -u origin master

GitHub上の自分のリポジトリを確認してみるとソースコードが上がっていますね。
以上の作業で無事にバージョン管理されたソースコードをリモート環境にあげることができました!

以上

37
51
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
51