こんにちは。YamaC / ヤマシー です。最近友人(Web系のエンジニアをやってる)とWebアプリの開発をしてみています。
そのなかで、ソースを管理する際はせっかくだからGithubにリポジトリを作って、ちゃんと管理する練習をしてみよう。と言われたので、何も知らないままGitで管理するやつをしています。
今回は、このGitの使い方の部分(超基礎的)を自分の備忘録として書き留めておこうと思います。
前提条件と対象の読者
- Gitをインストールして、環境は整えてる
- ターミナルからコマンド打つことが出来る
- Visual Studio Code を使用している(拡張機能の話をするので)
- Gitのギの字も知らないけど、どう使うのかとりあえず知りたい人
各コマンドについて
初期設定(git init)
とりあえず各プロジェクトを開始するとき、該当ディレクトリ内で打つコマンド
mkdir myproject
cd myproject
git init
該当のディレクトリに .git と書かれた知らないフォルダが作成されるのでこれでOK。
ディレクトリ内でもgit initは出来ちゃいます。(監視対象を複数に増やせる)自分はよくわからずに、git initを色んなところでしまくった結果、監視対象が増えて意味がわからなくなったことがあります。
ちなみに、gitの監視をやめて欲しければ、.git のフォルダを削除するだけでOKらしいです。
git add, commit, pushとこれらの考え方
ここからはgit add, commit, pushについて説明します。大まかには以下の図のような考え方で良いと思います。
自分のローカルな範囲で行うのが、git addとcommit。それをリモートリポジトリに上げるのがgit pushみたいなイメージです。それでは、これらについて説明していきます。
ファイルのステージング(git add)
ファイルに変更を加えたときに、使うコマンド。
※ファイルをリポジトリに追加するには、その手前のステージングエリア(一時保存的な場所)にまず入れてあげる必要がある。git addで変更を加えたファイルをそこに置くことができる
git add filename
全部のファイルをステージングする場合は、
git add .
でOKです。
コミット(git commit)
ステージングエリアに追加されたファイルをローカルリポジトリにコミットします。コミットメッセージを添えて変更を保存します。
git commit -m "コミットメッセージ"
コミットメッセージには、変更内容を伝える文章を簡潔に書くと良い、とされています。多分それぞれの環境でメッセージルールがあると思うので、それに従うと良いと思います。
ちなみに現在自分は、おおまかにUpdate・Fix・Addくらいでわけてます。ほぼ個人開発なので、これくらいが複雑じゃなくて楽です。
リモートリポジトリへプッシュ(git push)
ローカルで行った変更をリモートリポジトリに反映させるために、プッシュを行います。
プッシュを行うと、ローカルリポジトリの変更がリモートリポジトリにアップロードされ、他の人達と共有することができます。
上の方の図で示した、黄色の部分までは個人の中の話で、リモートリポジトリにあげないと、他の人から見ることができないです。(最初はこれがわかってなくて、コミットすれば他の人に見れるようになるものだと思っていた)
git push origin main
これによって、ローカルの mainで行われた変更が、リモートリポジトリの main に反映される。というわけです。
VS Codeで簡単にGitを使う
VSCodeのGit機能を使用すると、GUIで簡単にGit操作を行うことができます。
こんな感じで、VS Codeの左側にソース管理をめちゃくちゃわかりやすく表示してくれる枠が出てくるので、自分はコマンドを打たずに、基本ここで管理しています。
こんな感じで、git add . と打たなくても、ステージングしたいファイルの横にある「+」ボタンをクリックすれば、ステージングが簡単にできます。
そして、コミット・プッシュについても青色のボタンを押してしまえばそれで終わりです。コマンドに毎回打つのは難しそう__と思いますが、これならちゃんと管理してみるか___という気にもなるのでおすすめです。(自分はコミットしたらすぐプッシュする設定にしています。これがいいのか良くないのかはわからないですが、コンフリクト防ぐためにやってます。)
ちなみに、この画像にあるように、コマンドで色々打たずとも、これを選んで実行してしまえば、プル、プッシュ、コミットなどなど簡単に実行することが可能です。
まとめ
というわけで、今回の記事では、gitの超基本的な考え方、実際のコマンド、あとはVSCodeを使った直感的なGUI操作についても紹介してみました。ブランチの切り方、他にもいろんなコマンドの使い方はあると思いますが、ここでは最低限の紹介にとどめています(というか自分もよくわかっていません)。
なんか個人で開発してみよう・・・という方はこんな感じでバージョン管理を行ってみてください。
ちなみにこれは自分のGithub アカウント:https://github.com/yamac-music
開発に関する記事はこちら:https://yamac-tech.com/category/it/develop