1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

2-2.Gitログイン設定とclone

1
Last updated at Posted at 2026-08-25

■前提

GitサーバにGitlab CEを使っています

以下の手順で行います
*Gitサーバへログインと設定
*WindowsにGitコマンドのインストール
*Windowsでgit cloneを実行しソースコードを取得

■Gitlab CE

◯ログイン

管理者からもらったアカウント/パスワードでGitlab CEにログインします

もしくは初回パスワードリセットでログインします
https://{Gitサーバ}/users/sign_in - [パスワードをお忘れの場合]
メールアドレスを入力して [x]私はロボットではありません
[パスワードリセット]
一時パスワードが上記メールに送られてくるのでログインしてください

◯公開鍵登録

git認証はgit(ssh)とhttpsが選べます
httpsは毎回ID/PWの入力が必要です。ssh同様秘密鍵/公開鍵でパスワードなし認証を設定します

右上のアイコン - [設定] - [アクセス-SSHキー] - [新しいキーを追加]
キーに以前作成した公開鍵(*.key.pub)の内容をコピペします
改行が入らないようにしましょう

■Git for Windows

参考 : https://qiita.com/takeru-hirai/items/4fbe6593d42f9a844b1c

◯インストール

https://gitforwindows.org/
インストーラをダウンロードしインストールします

gitコマンドでバージョン情報がでればインストール完了です

PS C:\Users\{名前}> git --version
git version 2.53.0.windows.3 …ちょっと古いかも

◯.git/config設定

\Users\{名前}\.git\config
git config --global user.name "ユーザー名"
git config --global user.email "メールアドレス"

※PCのアカウント名が漢字だとingerprintが保存できないことがある
git config --global core.sshCommand "ssh -o StrictHostKeyChecking=no"

■gitサーバ接続時設定(ssh設定)

接続時にどの秘密鍵を使うか指定します

\Users\{名前}\.ssh\config
Host {Gitサーバ名}
  HostName {Gitサーバ}
  IdentityFile ~/.ssh/{秘密鍵ファイル名}
  User git
  Port {ポート番号} 

■gitサーバからPCにソースをコピー

◯親ディレクトリ

TOBiで抽出したRPG3ソースは以下に置きました
C:\Users\{ユーザ名}\RENRISTU>

リポジトリにはコンパイル用のRules.mk等のファイルが含まれています
上記とは別の親ディレクトリ(この例ならreposまで)を作成しましょう
例) C:\Users\{ユーザ名}\source\repos>

◯git clone

BobのGitツールでもgit cloneできますが、初回はgitコマンドを使うとエラーが表示されわかりやすいです

PS C:\Users\{ユーザ名}\source\repos> までcd
PS C:\Users\{ユーザ名}\source\repos> git clone git@{Gitサーバ}:IBMi/renritsu.git

※httpsで取得したい場合は以下になり、ID/PWを求められます

PS C:\Users\{ユーザ名}\source\repos> git clone https://{Gitサーバ}/ibmi/renritsu.git

取得した中身は以下になります
各ファイルの作り方は「最初にリポジトリを作成する」を参照ください

RENRISTU/
├── .env_template
├── .gitignore
├── QDSPSRC
│   ├── .ibmi.json
│   ├── RENRITSU.DSPF
│   └── Rules.mk
├── QRPGSRC
│   ├── .ibmi.json
│   ├── RENRITSU.RPG
│   └── Rules.mk
├── README.md
├── Rules.mk
└── iproj.json

■[管理者のみ]最初にリポジトリを作成する

1-4_RPG3をPCに抽出しBob表示 に従ってソースファイルを抽出しPCにscpします

◯ソースファイルの先頭に追加

QDSPSRC\RENRITSU.DSP と QRPGSRC\RENRITSU.RPG
      7桁目=仕様書コードの次
      *%METADATA          *
      * %TEXT 二次方程式  *
      *%EMETADATA         * 

◯iproj.json

iproj.json
{
  "description": "[RPG3]二次方程式",
  "buildCommand": "makei build",
  "buildObjectCommand": "makei b -t {object}",
  "compileCommand": "makei compile -f {path}"
}

※言語は RPG3やFFRPGなどを入れる
※[注意]TOBiのドキュメントには
 makei compile -f {filename} とあるがファイル名右クリックでコンパイルできません
 makei compile -f {path} としましょう

◯.env

.envは各個人の設定なので.env_templateをコピーして設定します

コンパイル先はOBJLIBに設定。下記の場合カレントライブラリにコンパイルされます
makeiコマンドのパスはドキュメントではIBMi側で行っているが動作しませんでした
.envで以下のパスを設定しましょう

.env
LIBL=FLIB QGPL QTEMP
PATH="/QOpenSys/pkgs/bin:/QOpenSys/usr/bin:${PATH}"
OBJLIB="*CURLIB"

◯Rules.mk

トップレベルのRules.mkはサブディレクトリを指定します
以下の場合はQDSPSRCとQRPGSRC以下をコンパイルします

Rules.mk
SUBDIRS = QDSPSRC QRPGSRC

◯QDSPSRC/Rules.mk

*ソースファイルの単体コンパイル例(QDSPSRCの*DSPF)

QDSPSRC/Rules.mk
RENRITSU.FILE: RENRITSU.DSPF  

◯QRPSSRC/Rules.mk
*依存性コンパイル例
 QDSPSRC/RENRITSUが変更されたらRENRITSU.RPGが変更されなくてもコンパイルする

QRPGSRC/Rules.mk
RENRITSU.PGM: RENRITSU.RPG RENRITSU.FILE

◯QDSPSRC/.ibmi.json QRPGSRC/.ibmi.json

.ibmi.jsonはTOBiで抽出の時にTgtCCSIDが指定され作成されている(PVSが1399なので)
コンパイル出力先のobjlibを指定する。変数のOBJLIBは.envで指定します

QRPGSRC/.ibmi.json と QRPGSRC/.ibmi.json
{
    "build": {
        "objlib": "$(OBJLIB)",
        "tgtCcsid":"1399"
    }
}

◯gitlab上でリポジトリ作成

https://{Gitサーバ}にログイン

もしグループがなければ先にグループを作成します
ここではIBMiグループにしましたが、言語別などグループ分けしましょう

[グループ]-[IBMi]-[プロジェクトを作成]-[空のプロジェクトの作成]
プロジェクト名 : RENRITSU
表示レベル : ◎非公開(権限は個別に付与する)
[ ]リポジトリを初期化しREADMEファイルを作成する ※チェック外す
[プロジェクトを作成]

リポジトリのURLが作られます
= https://{Gitサーバ}/ibmi/renritsu

◯PCでリポジトリの初期化からpush

PS C:\Users\{ユーザ名}\source\repos\RENRISTU> git init
Initialized empty Git repository in C:/Users/{ユーザ名}/source/repos/RENRISTU/.git/

PS C:\Users\{ユーザ名}\source\repos\RENRISTU> git remote add origin git@{Gitサーバ}:ibmi/renritsu.git
※git remote add行はpush前のリポジトリURLに表示されてます
 またはリポジトリURLトップの[コード]でURLをコピーできます

以下3コマンドでローカルのファイルをgitlabリポジトリにpush

PS C:\Users\{ユーザ名}\source\repos\RENRISTU> git add . ※全てのファイルをコミット対象にします
PS C:\Users\{ユーザ名}\source\repos\RENRISTU> git commit -m "最初のコミット" ※コメント付きで
 コミットします
PS C:\Users\{ユーザ名}\source\repos\RENRISTU> git push origin master ※コミットをpushします
Enumerating objects: 14, done.
Counting objects: 100% (14/14), done.
Delta compression using up to 12 threads
Compressing objects: 100% (10/10), done.
Writing objects: 100% (14/14), 2.63 KiB | 674.00 KiB/s, done.
Total 14 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To git.emboma.jp:ibmi/renritsu.git
 * [new branch]      master -> master

これで
https://{Gitサーバ}/ibmi/renritsu
にコンテンツがアップされています

目次へ

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?