MENU

特集 5250環境でGitを利用する、Git再入門 |Part3 連携方法 ──準備編

著者|
小川 誠

ティアンドトラスト株式会社
代表取締役社長 CIO  CTO

1989年、エス・イー・ラボ入社。その後、1993年にティアンドトラストに入社。システム/38 から IBM i まで、さまざまな開発プロジェクトに参加。またAS/400 、IBM i の機能拡張に伴い、他プラットフォームとの連携機能開発も手掛ける。IBM i 関連の多彩な教育コンテンツの作成や研修、セミナーなども担当。2021年6月から現職。

必要なライセンス・プログラムとオープンソース環境、およびGitの導入が終わったので、ここでは連携に向けた準備を行っていこう。

Gitの初期設定

まず、ユーザー(以下、使用するユーザーは「GITUSER」とする)のホームディレクトリの確認と必要なディレクトリの作成を行う。

ホームディレクトリとは、ユーザーがPASE環境で作業する際のデフォルトのディレクトリのこと。ユーザーごとのホームディレクトリは、ユーザー・プロファイルのHOMEDIRパラメータで指定されている。このパラメータのデフォルト値は*USRPRFであり、これは、/home/<ユーザー・プロファイル> を意味する。ただし、ユーザー・プロファイルを作成してもホームディレクトリは自動作成されないので、ネイティブ画面でMKDIRコマンドで事前に作成しなければならない。

 MKDIR DIR(‘/home/GITUSER’)

作成したらサインオンし直して、WRKLNKコマンドでホーム・ディレクトリが現行ディレクトリとして設定されていることを確認する(パラメータを何も指定せずにWRKLNKを実行すると、現行ディレクトリが表示される。図表3)。

図表3 現行ディレクトリの確認
図表3 現行ディレクトリの確認

 

次に、/home/GITUSERディレクトリにTESTSRCLIBディレクトリを作成し、Gitが管理するディレクトリとして構成してみよう。以降、 QP2TERM画面を使用して、PASE環境コマンドおよびGitコマンドを実行していく。

この作業で使用するAIXおよびGitコマンドは、以下の3種類。

・pwd:カレント・ディレクトリの確認
・mkdir:ディレクトリの作成
・gitinit:カレントディレクトリをGit管理ディレクトリに構成(Gitのリポジトリを作成)

QP2TERM画面では、英小文字入力が必要になるので、ジョブのCCSIDと、エミュレータのホストコード・ページは、以下を参考に設定しておいてほしい。

・画面:QP2TERM
・ジョブのCCSID:5035
・ホストコード・ページ:939

では、QP2TERM 画面を立ち上げ(CALL QP2TERM)、上記コマンドを実行していこう。

 > pwd
  /home/GITUSER

GITUSERの現行ディレクトリが /home/GITUSERであることをまず確認する。これ以降、このディレクトリ配下が作業を行う場所となる。

次にTESTSRCLIBディレクトリを作成する。ディレクトリの名前は、これからGitで管理するコードをメンバーとして保存しているソースファイルのライブラリ名と同じにしておくと、後からみてわかりやすい。QP2TERM画面でホームディレクトリにいることを確認し、以下コマンドを実行しよう。その後、cdコマンドで作成したディレクトリに移動する。

 > mkdir TESTSRCLIB
  $
 > cd TESTSRCLIB
  $
 > pwd
  /home/GITUSER/TESTSRCLIB

さらに、ソースファイルと同名のディレクトリを TESTS
RCLIB ディレクトリ内に作成しておこう。

 > mkdir QCLSRC
  $
 > mkdir QDDSSRC
  $
 > mkdir QRPGSRC
  $
 > ls -l
  合計 48
  drwxrwsrwx 2 gituser 0 8192 May 25 13:34 QCLSRC
  drwxrwsrwx 2 gituser 0 8192 May 25 13:34 QDDSSRC
  drwxrwsrwx 2 gituser 0 8192 May 25 13:34 QRPGSRC

必要なディレクトリの作成が終わったので、Gitコマンドを実行してみよう。Gitの状態を確認するにはgitstatusコマンドを実行する。すると以下のエラーが表示されるはずだ。

 >git status
   fatal: not a git repository (or any of the parent directories): .git

メッセージの意味は「Gitのリポジトリ .gitがない」というもの。Gitでディレクトリ内のコードを管理するには、さらに準備が必要であることがわかる。

あるディレクトリをGitの管理対象にするには、gitinitというコマンドを使用する。このコマンドを実行すると、現行ディレクトリにGitリポジトリが作成される。今回は、~/TESTSRCLIB にリポジトリを作成するので、pwdで現行ディレクトリを確認した後、gitinitコマンドを実行する。

 >git init
hint: Using ‘master’ as the name for the initialbranch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config –global init.defaultBranch
hint:
hint: Names commonly chosen instead of ‘master’ are ‘main’, ‘trunk’ and
hint: ‘development’. The just-created branch can
be renamed via this command:
hint:
hint: git branch -m
Initialized empty git repository in /home/GITUSER/TESTSRCLIB/.git/

最後の行は、「/home/GITUSER/TESTSRCLIB/.git/ 内に空のGitリポジトリが初期化された」という意味。再度gitstatusを実行してみよう。

 >git status
  On branch master

  No commits yet

  nothing to commit (create/copy files and use “git add” to track)

今度は、「コミットするものがない」と表示されたはずだ。

これでGitのリポジトリが作成されたのだが、実際にコミット等の作業を行うには、それを実行するユーザーを識別するためのユーザー名とメール・アドレスを事前に登録しておく必要がある。まず、現在の登録状況を確認してみよう。

 >git config –list
  core.repositoryformatversion=0
  core.bare=false
  core.logallrefupdates=true
  core.ignorecase=true  

user.nameおよびuser.emailが表示されていなければここで追加しておく。

 >git config –global user.name ‘Ogawa, Makoto’
  $
 >git config –global user.email ‘makoto@tat.jp’
  $
 >git config –list
  user.name=Ogawa, Makoto
  user.email=makoto@tat.jp
  core.repositoryformatversion=0
  core.filemode=true
  core.bare=false
  core.logallrefupdates=true
  core.ignorecase=true

万が一、下記のようにWARNINGが表示された場合は、前章の .profileの2行目の追加ができていない(もしくは追加後に QP2TERM プログラムを再起動していない)ので確認してほしい。

 >git config –list
  WARNING: terminal is not fully functional
  – (press RETURN)$