Gitはエンジニアにとってなくてはならないツールです。
しかし、チーム開発が行われない現場では必ずしも必須ではないツールであり、Gitたまに使うけど仕事で使うとなると不安・・・みたいな状況も多くあると思っています。
かくいう僕自身もGitは個人で使っていたのですが、場当たり的に個人で使用しているレベルでチーム開発で使うとなると悪戦苦闘することが多かったので、この記事ではその経験をふまえてGitの基本と勉強方法についてまとめていきたいと思います。
それでは見ていきましょう!
目次
Gitの基本・使い方
この記事ではGitの使い方について簡単にまとめていきたいと思います!
Gitの使い方をしっかり理解して、使いこなしていきましょう!
はじめに
それでは早速gitを使ってみましょう!
git init
リポジトリを新規に作成。
git init
好きなディレクトリに移動してgit initコマンドを打ちましょう!
git clone <url>
他のリモートリポジトリの情報を取得し反映
git clone <url>
既存の開発が行われているリモートリポジトリの情報を取得し反映していきます!
ブランチを作成
Gitでは大元の開発フローから開発作業によって分岐が走ります。これがブランチです。
ブランチを作成し、各担当者が作業をして最終的に大元のブランチにマージしていくのがGitを使った開発の全体像です。
git branch 作成するブランチ名
新しいブランチを作成
git branch 作成するブランチ名
git checkout -b 作成するブランチ名
新しいブランチを作成する際はgit checkoutを使うことも多いです。
新しいブランチを作成、新ブランチに移動
git checkout -b 作成するブランチ名
git checkout -b 作成するブランチ名 派生元のブランチ名
派生させたいブランチを明示的に指定したい場合に使用
git checkout -b 作成するブランチ名 派生元のブランチ名
git checkout リモートのブランチ名
先程は、ローカルでブランチを作成していく流れを見てきましたが、これはリモートのブランチをローカルに反映させたい時に使います。
例えば、リモートのブランチがremotes/origin/firstだった場合
remotes/originを取り除いて、
git checkout first
と入れてあげるとリモートブランチをローカルに反映させることが出来ます。
git push -u origin 作成したブランチ名
リモートリポジトリに作成したブランチを登録。
git push -u origin 作成したブランチ名
ブランチを移動する
ブランチを移動する際もgit checkoutを使用します。
git checkout ブランチ名
ブランチ移動。
git checkout ブランチ名
git checkout -f ブランチ名
強制的にブランチ移動するためには-fを付けます。
git checkout -f ブランチ名
ファイルを変更していてその変更をコミットしていないと派生元以外の他のブランチに移動できないため、それを無視して強制的に移動したい場合は使いましょう!
ブランチの状況を確認する
続いてブランチの状況を確認するためのコマンドについて見ていきましょう!
git show-branch
現在のコミット・ブランチ状況が分かる
git show-branch
git branch
ローカルリポジトリのブランチ一覧確認
git branch
git branch -a
ブランチ一覧をリモートリポジトリと共に確認
git branch -a
今いるブランチの派生元のブランチを確認
意図しないブランチから間違ってブランチを切ってしまった時・・・以下のコマンドで今いるブランチの派生元のブランチを確認できるんです!
git show-branch | grep '*' | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -1 | awk -F'[]~^[]' '{print $2}'
ファイルの変更を反映
ローカルリポジトリでファイルを修正してそれをリモートリポジトリに反映させていきます。
git add ファイル名
特定のファイルをステージング環境に追加します。
git add ファイル名
git add .
全ての変更ファイルを指定
git add .
git commit -m “コミットメモ”
commitではaddで追加・修正した変更をリモートリポジトリに反映させるための準備をしていきます。
コミットの内容をメモしてリモートリポジトリへアップする準備をします。
git commit -m "コミットメモ"
git status
変更修正されているファイルの状態を確認できるコマンド。
git status
・変更修正されているけど、git addされていないファイル
・git addされているけどまだgit commitされていないファイル
などを一覧で確認することが可能です。
git push
リモートリポジトリにアップ
git push
git addしてgit commitしたファイルをリモートリポジトリに反映させることが出来ます。
作業の変更を退避してブランチ移動
特定のブランチで作業をしていて、一旦のその作業を中断して他のブランチに移動したいとなった時、通常修正がコミットされていないとブランチを移動できません。
そんな時に中途半端な作業を退避して保存しておくことができます。
git stash -u
こちらによりコミットしていない変更は一旦退避されます。
git stash -u
その上でブランチを移動し、戻ってきてまた作業を再開することが可能です!
git stash list
退避した作業をこのコマンドによって確認できます。
git stash list
git stash pop stash@{番号}
退避していた作業を戻すと同時にstashした情報を削除するのがこのコマンドです。
git stash pop stash@{番号}
番号にはstashした特定の番号が入っていますので、git stash listで表示して確認しましょう!
これで無事退避していた作業を戻して作業再開することが出来ます。
ブランチを削除
不要になったブランチをいつまでも残しておくのは健全ではありません。
不要になったら削除しましょう!
git branch -d ブランチ名
マージ済みのブランチを削除
git branch -d ブランチ名
git branch -D ブランチ名
マージ済みかどうかに関わらずブランチを削除
git branch -D ブランチ名
リモートリポジトリの変更情報をローカルリポジトリに取り込む
誰かが変更したリモートリポジトリの情報を自分で開発しているローカルリポジトリに取り込みたい場合は以下のコマンドを打ちます。
git pull <リモートリポジトリ名称> <ブランチ名称>
例)git pull origin first
この時ローカルブランチを取り込みたいブランチに移動しておく必要があります。
Gitの勉強法
僕自信がたどったGitの勉強方法をまとめていきます。
・Udemy講座で学ぶ
・個人でGitを利用する
・チーム開発に飛び込んでGitを使う
・ひたすらググりまくる
Udemy講座で学ぶ
Gitを勉強できるサービスはいくつかありますが、僕の場合はUdemyで勉強しました。
Udemyは世界的最大の教育プラットフォームで非常にコスパよく様々な専門知識を学べるのでオススメです!
Udemyの以下の講座がGitを学ぶには分かりやすくオススメです!
Git:もう怖くないGit!チーム開発で必要なGitを完全マスター
【オススメ度】 | |
---|---|
【講師】 | Webエンジニア |
【時間】 | 5.5時間 |
【レベル】 | 初級 |
Git・Githubは開発や機械学習モデリングをチームで行う上で非常に重要なツールです。
そんなGitについて非常に分かりやすく解説してくれるコースになっています。
Gitって最初は何をやっているのかわかりにくいんですが、このコースを受講すればGitが裏でどのような処理を行っているのかが丸わかり!
動画に映し出される資料も分かりやすいですし講師の話し方も非常に聞きやすいです。
Udemyには他にもたくさんのプログラミング周りのコースがたくさんあり、どれも非常に有用なので是非取り組んでみてください!
個人でGitを利用する
Udemyである程度Gitについて学んで概要を理解した後は、実際に自分で手を動かして使ってみることが大事です。
先ほどのUdemyコースでは、自分の手を動かして学ぶ教材になっているのでその内容に沿って学んでもよいのですが、できれば自分でドキュメントやプログラムなどをGit管理してみましょう!
自分で0から試行錯誤してやってみると、あれ?この場合はどうするんだっけ?と疑問が湧き、学びが加速します。
現場で実際にGitを使う
個人での開発とチーム開発はやはり全然違います。
個人でGitを使っていたとしてもチームでGitが使えるとは限りません。
僕自身、実際にチーム開発に飛び込んでGitの使い方に戸惑った経験があります。
基本的に個人であればコンフリクトが起こることはありませんが、チームでGitを使っているとコンフリクトが起きます。
そのようなチーム開発で起きることを試行錯誤して解決していくうちにGitを使いこなせるようになっているはずです!
また、チームごとのGitのお作法などがありますので、ルールに則って開発を行いましょう!
郷に入れば郷に従えです。
ひたすらググりまくる
もう後はひたすらググりまくるのが吉です。
開発の現場に飛び込んで、分からないことが起きたらひたすらググりまくる。
今の時代、多くの情報がGoogleには転がっているので、とりあえずググる姿勢が重要です。
分からない事象にぶち当たったらとりあえずググる!
Gitの勉強方法 まとめ
ここまででGitの勉強方法について徹底的にまとめてきました。
Gitについてしっかり理解して使えるようになりましょう!
それでは見ていきましょう!
Gitはプログラミングを仕事にしていく上で非常に重要なスキルですのでなるべく早く身につけるようにしましょう!