0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Git/GitHub 導入編

Last updated at Posted at 2023-05-16

Gitを使う理由

Gitはファイルのバージョン管理をするために用いられる。

バージョン管理をしないと、

  • 最新のファイルが分からない

バージョンを管理すると

  • ファイルの最新の状態が分かる
  • いつ・誰が・何を変更したかが分かる
  • 以前の状態にも戻せる

GitHubとは

GitHubは「コードのホスティングサービス」、すなわちファイルやファイルの変更履歴を、オンライン上で扱ってくれるサービスである。

GitHubの特徴
  • プルリクエストで複数人開発ができる
  • 世界でどのような開発が行われているか見ることができる

Gitの初期設定

$ git config --global user.name "github user name"
# github user nameにはgithubで登録したユーザネームを入力する
$ git config --global user.email github@example.com
# github@example.comにはgithubで登録したeメールアドレスを入力する
$ git config --global core.editor "atom --wait"
# 登録したいエディタを設定する。上はAtomの例。ほかのエディタを使っている場合は各自で調べてみてください。

登録できているか確認してみよう。

# catコマンドでファイルの中身を確認できる
$ cat ~/.gitconfig
[user]
        email = github@example.com
        name = github user name
[core]
        editor = atom --wait

のようになっているはず。

Gitはどのようにバージョンを管理しているか

バージョンはコミット(ファイル変更の記録)によって管理されている。コミットは直前のコミットを保存しているので、それをたどることで以前のバージョンを復元できる。

コミットするとスナップショットが記録される。これによって、バージョンを枝分かれさせるブランチや、ブランチを統合するマージといった操作が高速になり、複数人で開発するときのスピードを上げることができる。

大まかなデータの流れ

ワークツリー ⇄ ローカルリポジトリ ⇄ リモートリポジトリ(GitHub)

ワークツリー
Gitの管理下に置かれた、実際に作業をしているディレクトリのこと
リポジトリ
ファイルや変更履歴などを置いておく場所のこと
ローカルリポジトリ
自分のPCの中にあるリポジトリのこと
リモートリポジトリ
専用のサーバに配置される、複数人で共有できるリポジトリのこと

ローカル(自分のPCの内部)は

  • リポジトリ
  • ステージ
  • ワークツリー

という3つの領域に分かれている。ステージは、変更したファイルを一時的に保存しておくための領域である。ステージした変更を、リポジトリに記録することをコミットするという。

Gitのデータ構造

リポジトリには

1. 圧縮ファイル
ファイルの内容を圧縮したもの。
2. ツリーファイル
ファイル名と、それに対応する圧縮ファイルを記録したもの
フォルダ構造を持たない圧縮ファイルに構造を与えている
3. コミットファイル
ツリー、親コミット(直前のコミット)、作成者、日付、メッセージが記録されたファイル

が保存されている。Gitのコマンドは、これらのデータ構造に対して操作を行っている。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?