【Git】基礎まとめ | 初心者向け
今回はバージョン管理システムのGitについてまとめました。
Gitを使用すると、より効率的にシステムを開発することができます。
ぜひ最後までお読みください!
1. Gitとは
Gitとは、分散型バージョン管理システムのことです。
「誰が」「いつ」「どんな」変更を加えたかを追跡・記録します。
1-1. GitHubとは
GitHubとは、Gitを使用したサービスのことです。
Gitを使用したサービスは、GitHubの他に以下のようなものがあります。
・Gitbucket
・GitLab
・backlog
1-2. SourceTreeとは
SourceTreeとは、GitをGUI(グラフィカル・ユーザ・インタフェース)で操作できるツールのことです。
GitをGUI操作できるツールには、SourceTreeの他に以下のようなものがあります。
・GitHub Desktop
・GitKraken
・Fork
・TortoiseGit(Windowsのみで動作)
2. リポジトリとは
リポジトリとは、ファイルやディレクトリの状態を記録する場所のことです。
Gitのリポジトリには、「リモートリポジトリ」と「ローカルリポジトリ」の2種類があります。
2-1. リモートリポジトリとは
リモートリポジトリとは、専用のサーバに配置して複数人で共有するリポジトリのことです。
2-2. ローカルリポジトリとは
ローカルリポジトリとは、自分の手元のコンピュータ上に配置するリポジトリのことです。
3. コミット(commit)
コミットのコマンドは、以下のとおりです。
git commit -m “コミットメッセージ”
3-1. ワークツリーとは
ワークツリーとは、Gitの管理下に置かれた、ユーザが実際に作業をしているディレクトリのことです。
3-2. インデックスとは
インデックスは、リポジトリとワークツリーの間にあります。
Gitでは、コミットでファイルの状態を記録する前に、インデックスにファイルを登録(ステージ)する必要があります。
ステージのコマンドは、以下のとおりです。
git add ファイル名
Gitでは、「ファイルを変更する」→「ステージする」→「コミットする」の流れを繰り返し、ファイルのバージョンを管理します。
4. ブランチとは
分岐したブランチは他のブランチの影響を受けないため、同じリポジトリ中で複数の変更を同時に記録することができます。
ブランチには、「枝」という意味があります。
ブランチを作成するコマンドは、以下のとおりです。
git branch 新規ブランチ名
チェックアウト(checkout)
チェックアウトとは、ブランチを切り替えることです。
チェックアウトのコマンドは、以下のとおりです。
git checkout 移動先のブランチ名
ブランチを作成して移動するまでを一気におこなう場合のコマンドは、以下のとおりです。
git checkout -b 新規ブランチ名
マージ(marge)
マージとは、ブランチを統合することです。
マージのコマンドは、以下のとおりです。
git merge マージしたいブランチ名
プッシュ(push)
プッシュとは、ローカルリポジトリの変更を、リモートリポジトリに反映することです。
プッシュのコマンドは、以下のとおりです。
git push リモートリポジトリ名 ブランチ名
プル(pull)
プルとは、リモートリポジトリのデータをローカルリポジトリに取り込むことです。
プルのコマンドは、以下のとおりです。
git pull リモートリポジトリ名 ブランチ名
フェッチ(fetch)
フェッチとは、リモートリポジトリから最新の状態を取得することです。
フェッチは最新の状態を取得するだけで、ローカルリポジトリの内容を更新しません。
フェッチした内容をローカルリポジトリに反映させたい場合は、フェッチ後にマージします。
フェッチのコマンドは、以下のとおりです。
git fetch
コンフリクト(競合)
コンフリクト(競合)は、同じファイルの同じ行に、同時に別々の変更があった場合に発生します。
コンフリクトが発生した場合、マージはおこなわれずエラーになります。
アメンド(amend)
アメンドとは、「プッシュする前に」直前のコミットメッセージを修正する操作のことです。
アメンドのコマンドは、以下のとおりです。
git commit - -amend
リバート(revert)
リバートとは、指定したコミットの内容を打ち消すコミットを作ることです。
過去のコミットを削除するのではなく、反対の内容で新規コミットを作成します。
リバートのコマンドは、以下のとおりです。
git revert コミットID
リベース(rebase)
リベースとは、ブランチをマージする際に、履歴を一直線にすることです。
リベース後はコミットIDが変わってしまうので、慣れないうちはマージを使用しましょう。
リベースのコマンドは、以下のとおりです。
git rebase リベース先のブランチ名
スカッシュ(squash)
スカッシュとは、プッシュする前にコミットを1つにまとめることです。
プッシュ後にスカッシュをおこなうと、他のメンバーのリポジトリと差異ができてしまい、トラブルの元となります。
スカッシュする場合は、対象のコミットがローカルリポジトリにだけ存在することを確認してからおこ
5. おわりに
今回はバージョン管理システムのGitについて解説しました。
Gitには今回紹介しなかったコマンドもあります。
「もっとGitについて知りたい!」という方は、ぜひ参考記事を読んだり、ご自身で調べてみたりしてください。
参考記事
・https://www.w3schools.com/git/default.asp?remote=github
・https://backlog.com/ja/git-tutorial/