はじめに
自分の復習用、メモ用にGitについて学んだことを書いておきます。
Gitとは
Gitとは、最も有名で、最も使われているバージョン管理システムです。
Gitはリポジトリという単位で、コードをいつ、誰が、どんな意図で編集したかを管理することができます。
Gitでのバージョン管理の流れ
まずは、git add .というコマンドを叩いて、stagingエリアに変更分を追加
stagingエリアというのは、リポジトリに変更分を保存する前に、今回の変更分が正しいかチェックする場
stagingエリアにて、変更分が正しい場合は、git commitコマンドにて、変更分をリポジトリに保存
リポジトリに保存しないようにする仕組み
外部に漏れてはいけないファイルをリポジトリで管理すると、閲覧される危険性があります。
.gitignoreを作成し、その中でファイル名を指定するなどして保存対象外とします。
branchとは
main branchは大元のbranchで、実際に動いているコードそのもの
そのmain branchのコードを編集せず、複数人で開発していくために、branchを切って開発をしていきます。
また、HEADという概念があり、HEADは自分が作業している場所を示すポインタになります。
mergeとrebase(branchの統合)
mergeは、時系列順に両ブランチのコミットをまとめる。
rebaseは、岐元ブランチのコミット履歴 → 分岐先ブランチのコミット履歴の順に並べる。
Gitコマンドまとめ
コマンド | 内容 |
---|---|
git status | 変更のあったファイルを確認 |
git diff | リモートとローカルのファイルの差分を抽出する |
git log | commitの変更履歴をみる |
git show | 指定したcommitの変更点を見る |
git restore | 不要な差分をstagingから取り除く |
git branch feature1 | feature1という名前のbranchを作る |
git branch | branchの一覧を確認 |
git switch feature1 | 作業branch、feature1への切り替え |
git stash | 変更分を一時保存する |
git merge --no-ff feature1 | fast-forwardを行わないコミット |
git log --oneline --graph | --graphオプション、mergeした際の図式を視覚的にみやすく表示 |
rebase | ブランチごとに進んでいる開発を、繋げ直す |
おわりに
一通り、触ってみましたが、正直理解できている実感はありません。触らないとすぐに忘れそうです。。。
Gitは今の時代のマストアプリだと思うので、動画なども観て理解を深めていこうと思います。