12
14

More than 1 year has passed since last update.

完全初心者向けGit用語集

Last updated at Posted at 2021-12-24

Gitとは

Gitとはプログラムソースなどの変更履歴を管理する分散型のバージョン管理システムのことです。こう聞くと難しく感じるかもしれませんが、プログラムの編集などができ、ソースコード、画像ファイルなど変更履歴を管理して複数に分けて利用することができるということです。

Gitを使うことで、ソースコードに対しておこなった変更を複数人で共有し、効率よく開発を進めることができるようになります。

そもそもなぜファイルのバージョンを管理するのか?
ファイルの変更履歴を残すことで、いつ誰がどのような変更をしたか確認することができます。
そして、これらの履歴は他のメンバーにも共有することができます。
また、ファイルに何か問題が見つかっても、前の状態(特定のバージョン)に簡単に戻せます。
上記の特徴からバージョン管理をするととても便利だからです。

GitHubとは

GitHubとはGitを利用した開発者を支援するWebサービスです。最初はGitとGitHubの違いが分かりませんでしたが、Gitはツールの名前でGitHubはGitを使ったWebサービスです。

Git:誰がいつどのように編集したかを正確に把握できるバージョン管理システムのこと。
Github: Gitの仕組みと連携して、他のユーザーとやりとりしやすくしているWEBサービスの名称。

Gitは上記の通り、CUI仕様(操作するのにキーボードでの入力が必要)なので、不慣れな方にとっては使いにくいです。一方でGithubはGUI仕様(マウスだけで操作できるもの)なので、画面上でマウスを使って操作できたり、複数のユーザーでコミュニケーションをとりやすいように機能が整備されています。

また、GitHubのようなGitのホスティングサービスは他にもGitlabBacklogBitbucketなど複数あります。

Git用語について

Git構造

git構造-1.jpg

repository(リポジトリ)

ファイルやディレクトリの状態を記録する場所。いわゆる保管場所です。システムの開発プロジェクトに関連するデータの一元的な保管場所を意味します。一種のデータベースで、各工程の様々な情報を管理することができます。
リポジトリ.jpg

local repository(ローカルリポジトリ)

自分のパソコンの中に作られる保管場所(リポジトリ)です。
ローカルリポジトリ.jpg

remote repository(リモートリポジトリ)

自分以外の他のコンピュータの中にある、みんなで一緒に使う保管場所(リポジトリ)です。ネットワーク上に存在し、複数人でも管理ができるリポジトリ(GitHubなど)です。
リモートリポジトリ.jpg

clone(クローン)

リモートリポジトリの内容を自分のローカル環境(自分のPC上)にコピーするコマンドです。
クローン.jpg

fork(フォーク)

他の人のリモートリポジトリを自分のリモートリポジトリにコピーするコマンドです。
フォーク.jpg
forkによるワークフロー
フォークのワークフロー.jpg
cloneは単に任意のリポジトリをローカルにコピーするのですが、forkは自分以外のリポジトリに対して、何らかの追加機能の実装、バグ改修を行いたいときに使用します。

init(イニット)

リポジトリを新規作成する時に使います。
initコマンドを実行すると、現在のディレクトリまたは指定したディレクトリに「.git」というリポジトリを構成するディレクトリが作成されます。
.gitにはGitで使用するファイルが新規に作成されるので、既に存在するリポジトリを再度初期化したい場合にもinitコマンドが使用されます。
イニット.jpg

pull(プル)

リモートリポジトリの内容をローカルリポジトリに取り込むことができるコマンドです。データのダウンロードのようなものです。
プル.jpg

branch(ブランチ)

作業履歴を枝分かれさせて記録することができます。
ひとつのプロジェクトから枝分かれをさせ、別の作業を行うことを「ブランチを切る」と言います。
ブランチ.jpg

master branch(マスターブランチ)

プロジェクトの本流のブランチで、リポジトリに最初にコミットをすると、masterというブランチが作成されます。
マスターブランチ.jpg

merge(マージ)

修正変更を加えたブランチを元のブランチに統合することができるコマンドです。
マージ.jpg

reset(リセット)

コミットした内容を取り消すためのコマンドです。間違えてコミットしてしまった変更内容を取り消したい場合や、変更内容に誤りがあって取り消したい場合などによく使うコマンドです。
リセット.jpg

revert(リバート)

既存のコミットを取り消すためのコマンドです。新しくコミットを追加しているだけなので、既存コミットの履歴が消えるわけではなく、コミットログには残っています。
リバート.jpg

rebase(リベース)

指定したコミットをブランチを変えて作り直すことができます。また、コミットをひとまとめにしたり、ログを綺麗にすることができます。
リベース.jpg

cherry-pick(チェリーピック)

他のブランチにあるコミットを自分が今いるブランチに反映させることができます。マージは全てのコミットが取り込まれますが、チェリーピックは選択したコミットのみを取り込むことができます。
チェリーピック.jpg

stash(スタッシュ)

作業中の変更を一時的に退避させることができます。作業中に他のブランチでの作業が必要になった時などに使います。
スタッシュ.jpg

conflict(コンフリクト)

複数人が同じファイルの同じ場所の変更をした時に起こるエラーのことです。
コンフリクトが起きたらどの変更を優先するか決めて直します。
コンフリクト.jpg

check out(チェックアウト)

今作業しているブランチから他の作業ブランチへ切り替えたい時に使用するコマンドです。
チェックアウト.jpg

fetch(フェッチ)

リモートリポジトリで更新された最新データをローカルリポジトリに取得するコマンドです。
取得のみを行うので、マージが自動で行われないのがPullとの違いです。
フェッチ.jpg

push(プッシュ)

ローカルリポジトリの修正内容をリモートリポジトリに反映させます。
プッシュ.jpg

pull request(プルリクエスト)

自分がした変更をリポジトリに取り込んでもらうよう要求します。
変更を本人以外がレビューしてから反映させることで一人で作ると気付かないコードの指摘やバグや記述ミスの発見ができ、コードの品質を高めます。
プルリクエスト.jpg

12
14
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
12
14