Blog

Git/GitHubの使い方研修

  • システム開発

入社して初めての研修

ガチガチに緊張しながら参加したのを覚えています。
今回の内容は、『Git/GitHubの使い方』です。

プログラマとして、重要なツールの解説のはずなのですが・・・
恥ずかしながら、まったく聞いたことない用語の数々・・・

でも、初めてなのだから知らなくて当然!
覚えることは多いですが、さぁ!バリバリ勉強していきます!!

Git(ギット)

プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。Linuxカーネルのソースコード管理に用いるためにリーナス・トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用されている。

各ユーザのワーキングディレクトリに、全履歴を含んだリポジトリの完全な複製が作られる。したがって、ネットワークにアクセスできないなどの理由で中心リポジトリにアクセスできない環境でも、履歴の調査や変更の記録といったほとんどの作業を行うことができる。これが「分散型」と呼ばれる理由である。

参照元:Wiki

調べてみましたが、難しい単語や知らない単語がたくさんあります。
正確に把握するのは、当分先になりそうなので要点を絞って理解していきます。

POINT

つまり、 『プログラムの編集や変更履歴を管理できる』 のがGitということですね。


GitHub(ギットハブ)

Gitと何が違うんだと思ってしまう私・・・
しかし、研修が進むにつれ、違いが明確に見えてきました。

Gitの仕組みを利用して、世界中の人々が自分の作品(プログラムコードやデザインデータなど)を保存、公開することができるようにしたウェブサービスのこと。

POINT

そう思って名前を見てみると、『Git』+『Hub』です。
『Hub』でUSB Hubをイメージしてみるのが、個人的には一番理解しやすかったですね。

用語・機能

Repository(リポジトリ)

  • 『リモートリポジトリ』 と 『ローカルリポジトリ』(以降、リモート、ローカル)の2つに分類される。
  • リモートは、Web上に存在するリポジトリのことであり、GitHub・SourceTreeを用いて、 共有することが可能なリポジトリ である。
  • ローカルは、自分のPC内に存在するリポジトリのことであり、例え作成元がリモートであったとしても 変更が自動で反映されることはない 。

Commit(コミット)

  • 各リポジトリの変更の履歴のことであり、『前回の履歴』(以降、親コミット)からの変更がどうなったかを記録している。
  • すべてのコミットがハッシュ(Hash)を持っており、固有の値であるためハッシュからコミットを判別することが可能である。
    また、初めのコミットを除いたすべてのコミットが親コミットのハッシュも保持していることで、一連のコミットとして扱うことができる。

Git Bash(ギット バッシュ)

  • LinuxコマンドでGitを扱うターミナル。 コマンドプロンプト とは別物なので注意が必要です。
  • ターミナルの主要なコマンド一覧
$ ls        listの略。カレントディレクトリの中身を表示する。
$ mkdir      make directoryの略。ディレクトリ(フォルダ)を作成する。
$ cd /c/git    change directoryの略。
          指定したディレクトリにカレントディレクトリを移動する。
          例では、C¥Gitへ移動。
          ※ ~(チルダ)はユーザーディレクトリを表す。
$ git init     カレントディレクトリに『.git』ディレクトリを作成する。
          カレントディレクトリ以下をGitの監視下とする。
$ touch test.txt  カレントディレクトリにtest.txtを作成する。
          ※本来は、作成するコマンドではない。

今回は、ここまで!

私の初めての研修の内容をまとめて、投稿してみました。
これからも研修で学んだことを整理する意味もこめて、まとめたものを投稿していこうと思います。

どうか温かい目で見守っていただけると嬉しいです。
最後まで読んでいただき、ありがとうございました

MeisterGuild(マイスター・ギルド)広報

最先端技術のMEISTERを目指し、お互い切磋琢磨するGUILD、になりたい株式会社マイスター・ギルドです。Webシステム/サービス開発、スマホアプリ開発、AR/VR/MR開発など、さまざまな情報を発信します。

Related Entry