【Git】gitの名称・コマンド説明まとめ(初心者向け)

基本的な名称やコマンドの解説まとめメモです。

gitでできること

  • 主にソースコード管理に使われる
  • プロジェクトのファイルの変更内容・履歴管理ができる
  • 過去のファイルに戻したり、複数人がした変更内容を統合したりできる

1プロジェクトの入れ物は「リポジトリ」と言うよ。

リポジトリ

その中に上がっているフォルダやファイルを保管 & 変更等を管理する場所のこと。

リポジトリにはリモートリポジトリとローカルリポジトリがあるよ。

リモート(リポジトリ)

gitに上がっている(リポジトリ)のこと。webを見れば確認できるやつ。

ローカル(リポジトリ)

自分のPC環境に作成した(リポジトリ)のこと。自分の環境だけにあるよ。

ブランチ

リポジトリの中身の履歴管理のために、主に作業内容に応じて作る(コピー)環境、および作業したものがまとまっている入れ物のこと。

だいたい元になる1つのブランチからブランチを作成する形で進めるよ。

リポジトリの中身は全部どこかの「ブランチ」に入っていて、

それぞれのブランチで変更した内容をまとめて(マージして)1つのデータにして公開したりするよ。

「developブランチから変更や修正内容ごとにブランチを切って作業しましょう」とか言うよ。

どこかのブランチからブランチを「作る」のを「切る」って言うことがあるよ。

リモートにもローカルにもそれぞれブランチがあるよ。

ブランチの例

masterブランチ

だいたい公開する内容が入っている。

もしくは下記developブランチのように大元になるブランチだよ。

developブランチ

だいたい公開前の開発し終わった内容が入っているブランチ。

アップデートとか追加開発をするときの大元になるデータ群が入っているブランチ。

masterとdevelopブランチが両方ある場合、developブランチからブランチを切って作業することが多いよ。

ない場合もあるよ。

ローカル(の)ブランチ(作業ブランチ)

ローカルにあるブランチ。

ローカルにあるブランチ(の変更内容)は何もしないと他の人に見えないよ。

ローカルブランチの変更内容の居場所には部屋があって、

リモートブランチに変更をアップするためには順番に部屋移動する必要があるよ。

ローカルで作ったブランチはリモートに登録することでみんなに共有できるよ。

1の部屋:ワーキングツリー

作業してるものがそのまま入っている部屋だよ。

何もしていない時はここの部屋に変更内容はいるよ。

2の部屋:インデックス(ステージングエリア)

変更を登録する前の待合室みたいなとこだよ。

$ git add <移動したいファイル名>することでワーキングツリーからインデックスに移動するよ。

この移動させる作業のことを「ステージング」と言うよ。

3の部屋:ローカルリポジトリ(ローカルブランチの先頭)

ここが最後の部屋だよ。

ステージングした変更内容を$ git commit 〜'でこの部屋に登録できるよ。

登録したら$ git pushすることでリモートリポジトリの指定ブランチに登録できるよ。

リモート(の)ブランチ

リモート登録されているブランチのこと。

リポジトリのメンバーはみんな見ることができるよ。

リモートブランチからローカルブランチを作成して作業することもできるよ。

「origin/master」でリモートのmasterブランチを指すよ。

originという名前でリモートリポジトリのURLが呼ばれているよ(gitがデフォルトでやっている)。

コマンド

add

$ git add .

変更したファイル(変更内容)をステージングエリアに追加(移動)するよ。

commit

$ git commit -m '<変更内容の簡単なまとめ>'

変更したファイル(変更内容)をcommitするよ。

push

$ git push origin branch-a

commitした変更をリモートにpushするよ。

merge

$ git merge branch-a

今いるブランチに指定したブランチを取り込む(統合)するよ。

その後、マージしたブランチはお役目終了で削除することが多いよ。

pull

$ git pull

リモートリポジトリの最新の変更内容をローカルリポジトリに持ってくることができるよ。

今いるローカルブランチに対応するリモートブランチが持ってきた内容をローカルと統合(マージ)するよ。

pull = fetch + merge(origin)

fetch

git fetch

リモートリポジトリの最新の内容をローカルリポジトリに持ってくることができるよ。

ただローカルリポジトリに持ってくるだけ。pullと違ってマージはしないよ。

clone

$ git clone <リポジトリのURL>

リモートリポジトリをローカルリポジトリに複製するよ。

cloneすると今いる場所にリモートリポジトリの元になるブランチの中身(フォルダ・ファイル)が入るよ。

fork

$ git remote add repo-a <repo-aのURL>

自分のリモートリポジトリに他のリモートリポジトリをrepo-aという名前でコピーするよ。

forkすると、forkされたリポジトリの開発者に通知が飛ぶよ。

checkout

$ git checkout -b branch-a

branch-aブランチを作成するよ。

$ git checkout branch-a

branch-aブランチに移動するよ。

$ git checkout -b branch-a origin/branch-a

リモートブランチbranch-aをローカルに持ってくるよ。