# Gitとは何なのか --- ざっくりいうと、 ## ファイルのバージョン管理が ## 簡単にできるツールのこと です。 --- ## Gitでどんなことができるか --- * **古いバージョンに簡単に戻せる** * **新旧のファイルを一元管理できる** * **編集した履歴を複数人で共有できる** * **複数人で修正した部分を一つに統合できる** --- ## Gitを理解するための基本用語 --- Git管理は基本的に 下記のような構造になっている。 ![](https://i.imgur.com/EAbS4Kt.png) --- ### リポジトリ(repository) ファイルやディレクトリを保存する場所で、2種類に分かれている。 --- - リモートリポジトリ - 専用のサーバに配置して複数人で共有するためのリポジトリ - ローカルリポジトリ - ユーザーごとに配置される手元のマシンで編集できるリポジトリ --- ### コミット(commit) ファイルやディレクトリの追加・変更をリポジトリに記録する。 --- #### :bulb: Tips① * バグ修正や機能追加などの異なる意味を持つ変更は、できるだけ分けてコミットするようにしましょう。後から履歴を見て特定の変更内容を探す時に探しやすくなります。 --- #### :bulb: Tips② * コミットメッセージは、他の人がコミットの変更内容を調べる場合や、自分で後から履歴を見直す際に大切な情報となるので、変更内容のわかりやすいコメントを書くように心がけましょう。 * 特に、なぜ(Why)を意識して記入するように。 * プロジェクト毎に、コミットメッセージの書式を決めて統一させるように。 --- ### クローン(clone) * サーバにあるリモートリポジトリをまるごと自分のローカル環境(ローカルリポジトリ)に保存する機能。 --- ### プッシュ(push) * ローカルリポジトリにあるファイルをリモートリポジトリに送信して保存する機能。 --- ### プル(pull) * リモートリポジトリから、ローカルリポジトリとの差分のみをダウンロードして更新する機能。 --- ### ブランチ(branch) * ファイルの編集履歴を分岐させて記録していく機能。 --- * masterブランチ * 製品として出荷可能な状態であり、アプリケーションが安定して動く状態にする必要がある。 * developブランチ * 次のリリースのための最新の開発作業の変更が反映されている状態。 * featureブランチ * developからブランチを切り、新機能の開発をするためにある。 --- 基本的なflowとは、feature->develop->master ※develop->masterにマージするには、リポジトリ管理者がやること。 --- ### マージ(merge) * バグの修正や、機能の追加を行ったブランチが最終的にmasterブランチに統合する機能。 --- ### この一連の機能ってどう使う? --- ```mermaid graph LR A(clone)-->B(pull 1st) B --> C(fix source) C ==> |check diff| D(commit) D --> E(push) E ==> |no conflict| Z((end)) E ==> |conflict| G(pull 2nd) G --> F(merge) F(merge) ==> |check diff| D F --> Z ``` ※pushしてコンフリクトが起きた場合、必ずローカルでmergeすること。むやみに自分のソースを上書きすると、ソースがデグレる。 --- ### その他 * revert, reset, cherry-pick, rebaseなどの上級者向けの機能は今回割愛させていただきます。 --- ### 参考リンク * https://qiita.com/hatt0519/items/23ef0866f4abacce7296 * https://backlog.com/ja/git-tutorial/intro/01/ * https://design-plus1.com/tcd-w/2019/12/what-is-git.html
{"metaMigratedAt":"2023-06-15T10:51:48.455Z","metaMigratedFrom":"Content","title":"Gitとは何なのか","breaks":true,"contributors":"[{\"id\":\"3de42c3e-08e7-4f9a-8227-960267d63a37\",\"add\":2494,\"del\":2939}]"}
    320 views