初心者による初心者のためのGit入門
Gitがどんなものなのか、あまりよくわからず使っているのでこの機に調べてみた。
Git の目的とは
いつ、だれが、どのような変更を加えたのかを記録して矛盾なく統合するため
- 変更前の状態に戻すことができる
- 複数人で作業してもここが重複していると教えてくれる
- レビューを経ることで品質向上
基本構造
ワーキングディレクトリ
- 実際にファイルを編集しているフォルダ
- 今チェックアウトしているブランチの中身を書き出している場所
ステージングエリア
- 次のコミットに含めるファイルを一時的に登録する場所
-
git addコマンドでステージングエリアに保存 - 履歴を別にしたい場合も分けて保存できる!
ローカルリポジトリ
- プロジェクトの履歴が正式に記録されている場所
-
git commitコマンドでローカルリポジトリに保存
リモートリポジトリ
- Git hub上の保存場所
開発時の流れ
- リポジトリを作成(作り方は後述)
- ブランチを切って編集
- 変更をステージングに挙げる
- ステージングに挙げた保存をローカルリポジトリに保存
- 変更履歴をリモートリポジトリに送信
- プルリクエストを作成
- リクエストを確認し、問題なければマージ
基本コマンド
ブランチの各種コマンド
ブランチ作成
git branch <ブランチ名>
ブランチの切り替え
git checkout <ブランチ名>
ブランチの作成と切り替えを同時に行う
git checkout -b <ブランチ名>
変更をステージングに挙げる
git add <ファイル名>
# すべてのファイルをステージングに挙げたい場合
git add .
履歴を記録する
git commit -m "コミットメッセージ"
自分の変更を共有する
git push origin <ブランチ名>
現在の3つのエリアの状態を可視化
git status
リモートの変更をローカルに反映する
- 必ずmainで行うこと
git pull origin main
現在のブランチの確認
現在のブランチに*がついて表示される
git branch
アップストリームの設定
git push -u origin <ブランチ名>
これを行うことでいちいちどこに保存するかを書かなくてよくなる
git init? git clone?
git init と git cloneの違いについて
git init
- リポジトリを0から作る/既存のフォルダを
git管理するためのコマンド - このコマンドを実行するとフォルダ内に
.gitというフォルダが作られ履歴が保存される
git clone
- リモートリポジトリにあるプロジェクトをコピーしてくる
-
git clone https://github.com/ユーザー名/リポジトリ名.gitを実行することでコピーできる - すでにあるものをコピーしてくるイメージ
- 初心者はこちらがおすすめ
よくあるブランチの命名規則
| 1 | 2 | 3 |
|---|---|---|
| 命名規則 | 役割 | 例 |
| feature | 新機能の開発 | feature/login-form |
| fix | バグの修正 | fix/header-design |
| docs | ドキュメントの修正 | docs/readme-update |
| refactor | コードのリファクタリング | refactor/api-call |