初めまして。dev-cat です。
今日は、僕がGitに初めて触れた時、知りたかったことをまとめました。
初めてのtech Blogなので、拙い部分もあると思いますが、よろしくお願いします。
基本的な概念
一番基本的な概念になります。ここだけ最初に説明をさせてください!
- Git
ソースコードやファイルの変更履歴を管理するための分散型バージョン管理システムです。過去の任意のバージョンに戻したり、変更履歴を確認することができます。
- GitHub, GitLab
Gitリポジトリをオンラインでホスティングし、複数のユーザーが共同でコードを管理・開発できるWebサービスです。 CI/CD の機能も提供し、デプロイの自動化も行うことができます。
- リポジトリ (Repository)
プロジェクトの入れ物。ファイルや変更履歴を管理することができる。
- ブランチ (Branch)
作業を分けるための枝分かれした開発ライン。別々に変更を進めることができる。
なぜ Gitが必要なの?
- 失敗しても安心
=> ファイルを間違えて消したり変更しても、過去のバージョンに戻せる。
- 誰が何をしたか分かる
=> 変更した人や理由を記録できる。
- チーム作業がスムーズ
=> 複数人が同じプロジェクトで作業しても、衝突しにくい。
使い方のイメージとメリット
環境によって違いはあると思いますが、僕は以下のような流れで作業を進めています。
コミットやマージは取り消し(revert)できるので、いつでも前のバージョンに戻すことができます。
また、ブランチ(branch)を切り替えることで、複数の作業を並行して進めることができます。
Gitの用語とコマンドについて
ブランチに関連する用語、コマンド
- ブランチ (branch)
ブランチの一覧を取得できます
=> ブランチ一覧の取得:git branch
- チェックアウト (checkout)
ブランチの切り替え、作成を行うことができます
=> ブランチの切り替え:git checkout "ブランチ名"
=> ブランチの新規作成:git checkout -b "作成するブランチ名"
追加に関連する用語・コマンド
- アド (add)
ブランチの中で、変更したファイルを「次に保存する変更」としてリストに追加すること。コミットする前に行う準備作業。
=> ファイルごとにadd:git add "ファイル名"
=> 変更されたファイルを全てadd:git add --all
- コミット (Commit)
=> 変更内容を保存すること。変更履歴を記録。
=>git commit -m "コミットメッセージ"
- プッシュ (Push)
ローカルの変更をリモートリポジトリ(オンライン)に反映すること。
=>git push origin "ブランチ名"
- マージ (Merge)
ブランチの変更を統合すること。別々の作業を1つにまとめる。
取得に関連する用語・コマンド
- クローン (Clone)
リモートリポジトリを自分のPCにコピーしてくること。
=>git clone "リポジトリURL"
- フェッチ (Fetch)
リモートリポジトリの最新の変更情報を取得すること。ローカルには反映せず、確認だけできる。
=>git fetch
- プル (Pull)
リモートリポジトリの最新の変更をローカルに取り込むこと。
=>git pull origin "ブランチ名"
バージョン管理に関連する用語・コマンド
- リバート (Revert)
過去の変更を「取り消す」こと。単に変更を元に戻すのではなく、取り消ししたことを履歴として追加できる。
=>git revert コミットID
- ログ (Log)
これまでの変更履歴を確認できます。
=>git log
確認に関連する用語・コマンド
- ステータス (Status)
現在のリポジトリの状態を確認する。変更されたファイルや、ステージングされたファイル、コミット待ちのファイルを一覧表示できます。
=>git status
- ディフ (Diff)
ファイルの変更内容を比較して表示する。ステージングされていない変更や、コミット間の差分を確認できます。
=>git diff
最後に
ここまでお付き合いいただいて、ありがとうございました!
内容に不明点や改善点があれば、コメントで教えていただけると助かります!
これからよろしくお願いします!!