LoginSignup
1
0

More than 1 year has passed since last update.

Gitの基礎知識

Posted at

Gitとは

データを複数の場所で管理することを可能にしたシステム。

Gitを利用する2つのメリット

1つ目は、プログラムを以前の状態に変更することができる。
誤って消してしまったコードを復活させたり、新たなバグ発生前のコードに即座に戻したり、上書きする前のコードを見つけたりすることができるようになります。

2つ目は、変更履歴を記録できる。
どこを修正したのか瞬時に分かるため、修正箇所の確認漏れを防止できます。

専門用語

リポジトリ

ファイルやディレクトリの状態を記録する場所。

ローカルリポジトリ

ユーザのPCにあるリポジトリをローカルリポジトリと呼びます。

リモートリポジトリ

オンライン上で機能するリポジトリです。複数人とリポジトリを共有することができます。

ワーキングツリー

ファイルを編集する場所。

インデックス

コミットするためのファイルを一時的に保管しておく場所。

コミット

インデックスに置いたファイルをローカルリポジトリに保存する操作

プッシュ

ローカルリポジトリをリモートリポジトリへアップロードする操作。

クローン

リモートリポジトリからローカルリポジトリをダウンロードし、複製する操作。

プル

リモートリポジトリからファイルの変更点のみをローカルリポジトリにダウンロードする操作

ブランチ

業履歴を枝分かれさせて記録できる操作。
例えばAブランチ、Bブランチという2つのブランチを作ることで、作業の種類ごとに履歴を残すことができます。また、2つのブランチは互いの変更に影響を受けないため、閉口して作業を進めることができます。

マージ(ファストフォワード)

mainブランチがAブランチ作成時から進んでいない状況での統合の仕方。Aブランチは派生元のmainブランチの履歴を含んでいるため、mainブランチをAブランチの先頭に移動させるだけで、Aブランチの内容を取り込むことができます。

マージ(ノン・ファストフォワード)

mainブランチがBブランチ作成時から進んでいる状況での統合の仕方。
この場合はマージコミットと呼ばれる新しいコミットを作成し、mainブランチをマージコミットに移動させます。その後、Bブランチをマージコミットに移動させます。

リベース

mainブランチがBブランチ作成時から進んでいる状況でも、マージコミットを作成せずにBブランチと統合する操作。マージとは異なり、変更履歴を一本化するのが特徴。

コンフリクト

2つ以上のブランチを統合する際、「同じファイルの同じ行」を編集していた場合に起きる現象です。この時Gitは、開発者自身にコンフリクトの解消を求めます。

フェッチ

リモートリポジトリの最新情報をローカルリポジトリに取り込む操作。
そのためにローカルリポジトリでは、「リモート追跡ブランチ」を生成します。ローカルリポジトリは「リモート追跡ブランチ」と統合するだけでリモートリポジトリの変更点をローカルリポジトリ内に反映させることができます。

参考記事
https://qiita.com/gold-kou/items/7f6a3b46e2781b0dd4a0
https://qiita.com/gakisan8273/items/0e0ad1fee2a7c623f8d6
https://qiita.com/Tetsu_Oikawa/items/d2426cb49eb379afad54
https://qiita.com/satona-oinuma/items/97205ca0ce04dcae2adb
https://qiita.com/chihiro/items/5d8cb21457a9c707c565

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