はじめに
最近はインフラ基盤もコード管理する機会が増え、そのコードを管理するにあたりGitを利用する機会が増えました。これを機にGitnについて基本的な内容をまとめようと思います。
本ブログはあくまで"Gitの個人利用"に焦点をあてており、チーム開発向けではないためご注意をお願いします。(チーム開発向けのGit編は別ブログでまとめようと思います)
本ブログは以下のような方におすすめです。
- Gitって何ぞや?を知りたい方
- Gitの仕組みを知りたい方
- git addとかgit commit、git pushなどGitの基本的なコマンドを学びたい方
今回私は以下のUdemyの講座でGitを学びました。1時間ほどでGitの基本はマスターでき、且つ無料のためGit初心者の方にはめちゃおすすめです!
https://www.udemy.com/course/intro_git
それではGitの世界にいってらっしゃい!
Gitとは?
一言で言うと"バージョン管理システム"であり、誰が、いつ、どのファイルの何を、何のために変更したか記録を残すことができるソフトウェアです。
Gitの仕組み
個人利用の場合

複数人利用の場合

GitHubとは?

Gitリポジトリ(コード)のホスティングサービス。(ソーシャルコーディングの場)
特徴
- プルリクエスト(自分の変更を他の人にレビューしてもらい、共有リポジトリに取り込んでもらうためのリクエスト(申請))によるコラボレーション
- 他チームのソフトウェアが見える
世界中の人たちが閲覧可能であり、開発に参加したりフィードバックを受けることができる。
また非公開で進めたい場合には、Bitbucketというツールがあります。使い方はGitHubとほぼ変わりません。
基本的なワークフロー

基本的なコマンド
- git init:ローカルリポジトリの新規作成
".git"という隠しファイルが作成される
- git status:"git commit"された変更差分が表示される
- 赤文字:ステージングエリアにaddされていないもの
- 緑文字:ステージングエリアにaddされたもの
- git commit -v:変更点の見える化
- git log:ログの出力(例:commitされたかなど)
- git rm:ステージングエリアのファイル削除
git rm -r [ディレクトリ名]:ディレクトリも削除
- git diff:git addしていない変更を確認(個人ファイル〜ステージングエリア)
- git diff HEAD:コミットされていないすべての変更を確認(個人ファイル〜ローカルリポジトリ)
- git remote add origin <GitHubリポジトリのURL>:共有リポジトリ(リモートリポジトリ)をoriginという名前で指定
originはエイリアス(別名)であり、Gitの世界ではリモートリポジトリは基本originと命名されることが多い
- git push origin master:originというリモートリポジトリへmasterブランチをpushする
ブランチとは、変更作業の「別ライン」を安全に進めるための機能です。
<例>
master
ブランチ:本番用コード
feature/login
ブランチ:ログイン機能の開発用
- git reset HEAD <ファイル名>:復元(コミットをやり直したい、ステージを外したい) ※ローカルリポジトリへの再度の対応
- git checkout <ファイル名>:ローカルに復元(過去のブランチに戻る、一時的にファイルを戻したい) ※過去の状態に戻す
おまけ(.gitignore)
".gitignore"ファイルに指定することで、ファイルをGitの管理から外すことができる
- 自動生成されるファイルやパスワードが記載されているファイルが対象となることが多い
- 「#」から始まる行はコメントアウトされる
- 指定方法
- ファイルを直接指定(index.html)
- ルートディレクトリを指定(/root.html)
- ディレクトリ以下を除外(dir/)
関連記事
GitHub Actionsについてまとめた記事です。本記事とまとめて読んでみてください。
GitHub CodeSpacesについてまとめた記事になります。