このサイトはアフィリエイト広告を利用しています。

phpStormとGit、Githubの連携

開発環境構築

別の記事「phpStormでのLaravelプロジェクト作成時の問題」でも書きましたが、phpStormはGit、Githubとの連携機能が強化されました。この関係で連携等の操作方法が大きく変わりました。最初は戸惑ったのですが連携方法を確認できましたので記事としてまとめておきます。

今までとの相違点

今まではphpStormでGit、Githubを利用する時には色々と前処理を行う必要がありました。例えばGitを利用する為に設定を行ったり、Github上にプロジェクトの受け皿となるリポジトリを作成したりする必要がありました。しかし最新のphpStorm(2020.1.3)ではこれらの操作を行わずに連携を行う事ができます。

GitやGithubとの連携機能が強化されて凄く使いやすくなった!となれば良いのですが今までと大きく手順が変わったりしてすんなりとGitやGithubを利用できなくなりました。

Githubのアカウント

Githubとの連携を行うにあたって、Githubのアカウントは必須です。別の記事「Git・Githubと連携する2」等を参考にGithubのアカウントを作成してください。アカウントは無料で作成できますしプライベートなリポジトリ(公開しない様にする)も作成可能です。またphpStormの設定からGithubのアカウント設定してください。

Gitリポジトリへ登録

プロジェクトを作成後には自分のパソコンにインストールしているGitで更新を管理する様になります。最初にphpStorm右上のアイコン、コミットで登録します。

Gitにコミットする

そうすると、コミットの管理ダイアログが表示されます。

コミットダイアログ

このダイアログで、①登録するファイルを選択して(チェックする)②コミットメッセージを書いて③コミットします。この操作でパソコンにインストールされているGitへプロジェクトが登録されます。と思うとエラーメッセージ(警告)が表示されます。

エラー(警告)メッセージ

このメッセージはコミットするとGitに正しく登録できないという意味です。本当は少し違いますが、このままコミットすると問題が出ますとの警告です。ですので一旦キャンセルして下さい。

本当ならこの操作で簡単にGitへ登録できるのがベストなのですがどうもダメな様です。この原因はプロジェクトを作成した時点でGitの状態が正しくプロジェクトに紐づけられていないのが原因の様です。要するに作成したプロジェクトにチェックアウトされていない状態になっています。このチェックアウトはGitの概念ですので細かくは別途Gitのドキュメントを確認して下さい。

ではGitを作成したプロジェクトにチェックアウトする方法は、phpStormの画面の左下の「Git」と書かれているタブを選択して、作成したプロジェクトを右クリックして「Checkout」を選んで下さい。これでコミットする事ができます。

チェックアウトする

再度コミットを実行してください。これでプロジェクトがGitへ登録されました。次はリモートのGithubへプロジェクトを登録します。

Githubへ登録

ローカルのGitへ登録した後はGithubへ登録します。Githubへ登録すればパソコンがトラブルで起動しなくなってもプロジェクトのファイルが無くなる事はありませんし、複数人で共同で作業をする事ができます。単にGithubへ登録する(プッシュ)だけではうまく行きません。

最初にVCS(バージョン管理システム)メニューから「Import into Version Control」を選び「Share Project on Github」を選んで下さい。ちょっとメニューの名称に違和感があります。

Githubで管理する様にする

このメニューを選ぶと小さなダイアログが表示されます。このダイアログで「Share Anywhere」を選び先ず表有するを選んで下さい。

先ずはShareを選ぶ

そうすると小さなダイアログが表示されます。このダイアログには既に作成したプロジェクト名が入力されています。そのまま「Share」ボタンを押すとGithubへプロジェクトが登録されます。

Githubへ登録する

この時「Private」のチェックを付けておくと非公開での登録となります。実際にGithubへログインして確認するとちゃんと登録されている事が判ります。

正しく登録されている

これで設定等は完了です。実際に開発を進めて行きましょう。GitやGithubに関しては各種書籍等もありますので詳しくはこれらを参照して下さい。

個人的にはこの本が判りやすくてお勧めです。

コメント