Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What are the problem?

初心者向け GitとGitHubについて②

image.png

前回はGitとGitHubの説明、リモートリポジトリの作成まで行いました。
次はローカルリポジトリの作成やコミット、リモートリポジトリへのプッシュなど一通りの流れを説明します。

まずはGitの基本的な用語を押さえておきましょう。

Gitの基本的な用語

  • コミット(commit)
    コミットとは、ファイルの追加や変更の履歴をファイルに記録すること。コミットの際にはどのような変更修正なのかをわかりやすくするためのメモを添えます。

  • プッシュ(push)
    ファイルの追加や変更をリモートリポジトリに反映するための操作のことです。

  • アッド(add)
    コミット前に変更修正したファイルを仮の保管場所に保存することです。コミット前に行います。

  • ブランチ(branch)
    ブランチとは変更履歴の流れを保存したコミットの連なりです。ブランチは分岐することができます。分岐したブランチは他のブランチの影響を受けないで、1つのアプリケーションに対して複数のメンバーが同時に修正や機能追加などを行うことができます。
    分岐したブランチを大元のブランチにマージしてブランチを一つに戻すことができます。

  • プルリクエスト(pull request)
    ブランチでのコミット履歴を残すとともに、各コミットにおける変更修正にコメントをつけることができるGitHubの機能のことです。1つのブランチでの作業について、コードを確認しつつコミュニケーションが取れる掲示板のようなものです。

  • マージ(merge)
    マージは統合するという意味です。機能実装のために作成したブランチを、リモートリポジトリ上のmasterブランチに反映する作業のことをいいます。

  • プル(pull)
    リモートリポジトリの変更をローカルリポジトリに取り込む操作のことをいいます。
    マージした後、リモートリポジトリのmasterブランチはマージ後の情報になっています。しかしローカルリポジトリのmasterブランチはマージ前の情報のままなので次のブランチを作成する前に情報を反映させる必要があります。

  • クローン(clone)
    リモートリポジトリを自分のPCにダウンロードすることができます。
    リモートリポジトリがあるが、手元にはローカルリポジトリがない状態の場合、cloneすることで作業することができます。同じリモートリポジトリ内で共同作業を行いたい場合は権限を付与してもらう必要があります。

  • フォーク(fork)
    他の人のプロジェクトのリポジトリをコピーして、オリジナルのファイルに対する編集アクセス権がない場合でも、自分の場所に取り入れることによって編集できるようになります。


ローカルリポジトリの作成

ローカルリポジトリを作成していきます。
ローカルリポジトリはGitリポジトリとして初期化することで作成できます。
Gitで管理したいアプリケーションのディレクトリに移動します。

$ git init

git initコマンドを入力するることでアプリケーションのディレクトリをリポジトリとして初期化します。
これでローカルリポジトリが作成できました。

ローカルリポジトリの仕組み

Gitは3つのデータ領域でファイルの変更履歴を管理しています。

  1. 作業ディレクトリ
  2. インデックス
  3. Gitディレクトリ


  • 作業ディレクトリ
    ローカル環境で実際に作業するファイルがある領域です。ワークツリーとも言います。

  • インデックス
    作業ディレクトリ上で変更されたファイルのうち、次回のコミット対象になっているファイルを記録しておく領域。ステージングエリアとも言います。

  • Gitディレクトリ
    リポジトリの全ての変更履歴を保存している領域です。

ファイルをローカルリポジトリにコミットする

作業ディレクトリからインデックスへ変更修正したファイルをインデックスへ記録させます。

一つのファイル
% git add ファイル名

コミットされていない全てのファイルを記録させるには

全てのファイル
% git add -all

を入力します。

うまくいったかを確認するにはgit statusコマンドを入力します。

確認
% git status

次にリポジトリへコミットします。

リポジトリへコミット
% git commit -m "コメント"

-mオプションをつけてどのような内容のコミットなのかを記述します。

これでファイルの変更履歴がリポジトリへ保存されてことになります。
git logコマンドで確認することができます。

コミット確認
% git log

リモートリポジトリへプッシュする

リモートリポジトリへ反映させる前には、リモートリポジトリの情報をローカルリポジトリに追加する必要があります。

Image from Gyazo

ローカルリポジトリとリモートリポジトリを紐づける
% git remote add origin リポジトリのURL

作成したリモートリポジトリのURLを貼り付けます。

ローカルリポジトリをプッシュしてリモートリポジトリへ反映させる

リモートリポジトリへプッシュする
% git push origin master

最初はGitHubのユーザー名とパスワードを尋ねられますので入力してください。
これでGitHubへプッシュすることができました。

コミットしておけば過去の変更履歴を確認できたり、追跡できるので、元に戻すことができるようになります。通常はブランチを切ってそのブランチへプッシュすることが多いと思います。

次回はGitのコマンドやブランチについてまとめていけたらなと思います。

参考サイト
【超入門】初心者のためのGitとGitHubの使い方
GitHub GITチートシート
modis GitHubとは?使い方や知っておきたい知識を解説!
Gitではじめるバージョン管理 〜ローカルリポジトリでファイルを管理してみよう〜

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What are the problem?