はじめに
UiPath StudioにはGitやSVNバージョン管理ツールとの連携機能が用意されています。
当記事ではUiPath StudioのGitの機能を使ってできること、どんな操作感なのか、などを確認していきます。
ちなみにGitとGitHubは別のモノです。
前者がバージョン管理のプロトコル、後者がGitを使うことができる環境を提供するWebサービスです。
UiPath StudioのGit機能の確認を目的としており、Git用語の説明、Gitサーバーの導入手順、GitとGitHubの使い方の差異などは省略しています。
Git連携機能の有効化の手順
UiPath Studioはv22.10を利用しています。
ツール > プラグイン > ソース管理プラグイン から Git のトグルにチェックを入れます。
Studioの再起動が促されます。
Git機能が有効化されると、いくつかの機能メニューが表示されるようになります。
① ホーム > チーム の表示メニュー。
② 右クリックで表示されるメニュー。
③ 右下に表示されるメニュー。
機能の確認の前に…
Gitの仕組みについてイメージで理解してみます。
Gitの挙動や、Studio上のGit機能理解するためにはGitの仕組みを大まかに知ることが必要です。
Gitのイメージ
Gitは分散型バージョン管理と言われるとおり、クライアント側にもリポジトリを持っていることが特徴です。
リポジトリとは修正履歴の保管先です。
- クライアント(利用者のPC上)にも ローカルリポジトリ という履歴管理の仕組みを持っています。
- ローカルリポジトリのみでも履歴管理が可能です。
- サーバーへ変更を登録するためには、ローカルリポジトリの内容をサーバー側のリポジトリへ登録( プッシュ )する操作が必要です。
- ローカルリポジトリへサーバー側のリポジトリの変更を取り込むためには、登録( プル )する操作が必要です。
機能の説明: よくあるシナリオに沿ったStudioのGitの使い方
★シナリオ1: Gitを使った開発をはじめる。
Gitを使うパターンではいくつか始め方の異なる2つのパターンがあります。
パターン①: 既存のGitサーバー環境から、ローカルリポジトリを複製する。(Git Clone)
表示されたダイアログに必要な情報を入力します。
項目名 | 入力値 |
---|---|
リポジトリURL | GitサーバーのURLを入力。 |
チェックアウト ディレクトリ | ソースを置く自身のPCのパスを入力。 |
資格情報を使用 | ※ 認証情報は選択に合わせて入力。 |
※ Github.comに接続する場合は、下図の通りGithubアカウントにUiPath Github Appをインストールする必要があります。
https://docs.uipath.com/ja/studio/standalone/2023.4/user-guide/managing-projects-git#over-https
※ Github.com利用するにも関わらずGithubアカウントにUiPath Github Appが未インストールの場合、下図のエラーが発生します。
下図ダイアログは「はい」をクリックします。
下図ダイアログは「OK」をクリックします。
上記のダイアログはGitリポジトリ直下にStudioのプロジェクトが認識されない場合に表示されます。
Gitリポジトリとしてはプロジェクトの親フォルダも指定できますので、そういった利用方法をされている場合や、まだプロジェクトを保管していない場合などに表示されます。
パターン②: 新規にGitローカルリポジトリ環境作成する。(Git Init)
バージョン管理を使っていないプロジェクトを開いた状態で、
チーム > Git > Git Init を選択します。
フォルダー選択のダイアログが表示されますが、ローカルリポジトリは以下のいずれかが選択できます。
- プロジェクトのフォルダー
- プロジェクトの親フォルダー
管理したい粒度に合わせて選択します。
★シナリオ2: 開発済のプロジェクトをGitの管理に追加する。(ローカルリポジトリへコピー)
プロジェクトを開いた状態で、
チーム > Git > Gitにコピー を選択します。
下図の通り、ダイアログを進めると、対象のプロジェクトがGitのローカルリポジトリにコピーされ、Gitの管理対象となります。
★シナリオ3: 他者の修正を取り込み、自身の修正をローカルリポジトリおよびサーバーへ登録する。(プル → コミット → プッシュ)
1.プル操作: 他者の修正を自環境へ取り込む。
プログラムの開発の前には、右クリックメニューで プル の選択します。
サーバーの状態がローカルリポジトリに反映されます。
2.コミット操作: 自身の修正をローカルリポジトリへ登録する。
参考情報 : SVNのコミット と Gitのコミット は意味合いが異なります。
Gitのコミットはローカルリポジトリ(自身のPC内)に登録する操作です。
コミット操作はいくつかのメニューから操作可能です。
そのうちの1つの手順をご紹介します。
② ダイアログから対象を選択し コミット ボタンを押下します。
コミットしてプッシュする ボタンでプッシュ操作も同時にすることも可能です。
3.プッシュ操作: コミットした修正をサーバーへ登録する。
下図のアイコンの数字がプッシュ対象が1つあることを示しています。
クリックすると プッシュ されます。
★シナリオ4: 開発対象のブランチを作成、変更する。
ブランチ は作業の枝分かれのような定義です。開発作業の対象となるブランチは常に1つです。
Gitを活用するためには作業中のブランチが何であるかを把握しつつ、必要に応じて切り替えて開発すると効率的です。
1.ブランチ作成
下図ではmainブランチが作業対象になっていることが確認できます。
新たにブランチを作成する手順を実施します。
① 右下のメニュー から ブランチ名 を選択します。
表示されたメニューから ブランチを管理 を選択します。
② 上部の + ボタンを押下します。
③ 作成したい ブランチ名 を入力します。
④ ○○からブランチを作成 ボタンを押下します。
⑤ 保存 ボタンを押下します。
最後の「保存」ボタンの操作を忘れることが多いのでご注意ください。
2.ブランチ変更
■ ブランチの変更方法1
① 右下のメニュー から ブランチ名 を選択します。
'① 変更したいブランチ を選択します。
■ ブランチの変更方法2
② 表示されたメニューから ブランチを管理 を選択します。
'② 変更したい対象のブランチを右クリックし ブランチをチェックアウト を選択します。
開発作業対象となるブランチを切り替える操作を チェックアウト といいます。
ブランチは複数定義できますが、チェックアウトされる対象は常に1つです。
ブランチとチェックアウトを活用することで、簡単な操作で枝分かれ(=ブランチ)したプロジェクトの状態に切り替えることができます。
★シナリオ5: プログラム修正のコンフリクト(競合)が発生する。
ユーザーAとユーザーBが同じプログラムソースを同時にコミットしようとする操作を コンフリクト(競合) と言います。
コンフリクトが発生する条件下で、操作をしようとすると以下のダイアログが表示されます。
下図は ブランチを管理 > マージ の操作でコンフリクトの発生が検知された例です。
コンフリクトの解消のためのマージ操作では、左右のどちらのファイルを残すかを選択します。
対象ファイルを選択し、コミット ボタンを押下します。
競合した修正の一方を選択したことで、コンフリクトが解消しました。
★シナリオ6: プログラム修正の履歴を確認する。
チェックイン(コミット)の情報が確認できます。
いずれかの行をクリックすると…
右クリックメニューの 「変更を表示」 でも変更内容の確認が可能です。
このメニューでは、未コミットの差分が表示されます。
右クリックメニューの 変更を表示 を選択すると、即座に差分が確認できます。
まとめ
StudioのGit機能を確認しました。
Gitは多機能であるためGitの概要を知った上でご利用いただくと活用しやすいです。
バージョン管理を使うと開発の生産性がより高まりますので、ぜひご活用ください。