Gitとは
バージョン管理システム 変更履歴記録
ファイルの共有・同期・バックアップの機能
- Git
プログラム - GitHub
Gitを用いた操作サービス
リモートリポジトリを置くサーバーを用意してくれる(ホスティングサービス) - Source Tree(GUI)
ファイル管理ソフトウェア
バージョン管理システム
-
中央集中型 リポジトリは1つ
専用サーバー(リポジトリ)でファイルバージョンを一元管理
→同じファイルを複数人が扱う
ユーザーはPCにリポジトリをコピーし、サーバーリポジトリと常に同期 -
分散型 リポジトリは各々 ex.)Git
各PCの独立したリポジトリとサーバーリポジトリを同期
使用時
ファイル更新→PC内のローカルリポジトリに記録→サーバーのリモートリポジトリに反映
Git基本単語
リポジトリ
フォルダ。データ保存場所。
リモートリポジトリに対してローカルリポジトリ
コミット
ローカルリポジトリに記録すること
前回コミットからの差分が記録。時系列で保存
ブランチ
プロジェクトから分岐し、影響を与えずに開発できる
枝分かれ作業で使用
Gitではメインブランチから自分専用ブランチを作成する
→作業完了後、メインブランチに反映
- 統合ブランチ
masterブランチ。分岐元 - トピックブランチ
課題解決のために作成。作業完了後、統合ブランチに取り込む
統合
マージ
複数ブランチを結合。履歴が残るので複雑
リベース
統合ブランチに続いて結合。履歴は1本
統合ブランチからトピックブランチをマージして先頭移動
戻れない
アップロード
プッシュ
ローカルリポジトリがリモートリポジトリをプッシュして変更を反映、履歴を同じにする。
クローン
リモートリポジトリの複製
リモートリポジトリ内容をダウンロードし、別PCにローカルリポジトリ作成。履歴も。
プル
作業中、他の人のプッシュ内容を取得するため、前回クローンから最新にすること。自動マージ
フェッチ
マージしたくない時のプル。取得コミットは名無し
フォーク
他リモートリポジトリをGitHub内にコピー
チェックアウト
作業ブランチ切り替え
プルリクエスト
ローカルリポジトリの変更を他開発者に通知
変更箇所分かりやすく&コミュニケーションの場を提供
競合
複数masterブランチがマージ出来ずぶつかる
複数人が同じ行を変更した時。手動で解決
ブランチの種類
master
メインブランチ。マージする用。本番環境
develop(トピックブランチ)
developブランチからさらに切って(feature)使用
feature
developブランチから分岐。トピックブランチ。
release
リリース用。最終調整。完了後masterにマージ
hotfix
リリース後の緊急修正。masterから分岐
→修正後、masterとdevelopにマージし、リリースタグを打つ
→削除
support
旧バージョンのサポート
初めの手順
対象ソースをクローン/フォーク
作業用ブランチ作成
作業
コミット
プッシュ
プルリクエスト作成
↓
確認しレビュー
問題ない場合マージ
プルリクエスト不要な場合、クローズ