SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
XPages開発における
Git/GitHubの利用

九州地区ノーツパートナー会技術部会

2014年1月14日
リコーITソリューションズ株式会社 海老原 賢次(Kenji.Ebihara@jrits.ricoh.co.jp)
22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

1
今日話すこと






バージョン管理とは
Git/GitHubとは
TortoiseGitのインストール
TortoiseGit を使ったDomino DesignerとGitの連携
Issuesについて

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

2
バージョン管理システム
 バージョン管理システムを使う理由
- 参考:@IT-「知らないと現場で困るバージョン管理システムの基礎知識 」
http://goo.gl/pXapC
- アジリティを高める
• 開発中にソフトウェアにバグを埋め込んでしまっても、問題の発生する以前の状
態へ簡単に戻せます。

- 素早い開発が可能に
• 過去にさかのぼって変更の差分を確認することで原因を分析したり、別に同じ
環境を作って同じ問題が再現するかどうか調査できます。

- 余計な情報でコードが肥大しない
• 変更前の内容をコメントアウトしてコード中に残すようなことをする必要はありま
せん。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

3
何をバージョン管理するのか
 ソフトウェアのソースコード
 ビルドスクリプト
 データベースのスキーマ定義、マイグレーションの SQL、初期
データ
 環境構築用の設定ファイル・スクリプト
 Xpagesでは、オンディスク・プロジェクトの内容をすべてソースコー
ド管理に含めます。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

4
GitとGitHub
 Git
- バージョン管理システムの1つ。
- 同類の他製品には、Subversion、CVS等があります。
- Gitはオープンソースで社内やローカル環境など、どこでも構築ができます。

 GitHub
- Gitをバージョン管理とした、SaaSによるSNS機能を持ったソフトウェア開発
プロジェクト共有クラウド環境。
- バージョン管理以外にもIssueやメンバ管理などの機能を合わせ持ちます。
- ソースコードは提供されていないため、同じ環境をオリジナルで建てること
はできません。
- 同じような環境を自前で作りたい場合は、Gitと合わせてRedmineや
ALMinium などオープンソースの製品を使用します。
22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

5
Domino Designerでの利用
 ここでの前提
- Domino Designer 9.0 を対象としています。
- R8.5.2以降であれば、「Source Control Enablement」プラグイン
(http://goo.gl/QzRtbi)を導入することで、可能です。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

6
Domino DesignerとSCMとの連携

DBとオンディスクプロジェクト間は
自動的に同期される

SCM(git,SVN等)

1つのDBに対して複数の開発者が作業するのではなく、
開発者毎にDBを作成する。

オンディスクプロジェクト

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

7
Gitクライアントの用意
 Gitクライアントにはいくつか種類があります。
Domino Designer用のアドインは、OpenNTFにありしたが、R9では
使用できないそうですし、もう使っちゃダメなようです。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

8
TortoiseGitとは
 ということで、TortoiseGit(トータスギット)を使用します。
URL:http://goo.gl/s16zT
 特徴
- エクスプローラーからGitをGUIで操作ができる
- Language Packが充実しており、UIが日本語で表示できて使用しやすい

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

9
TortoiseGitのインストール準備
 TortoiseGitは、Gitクライアントのエンジンは持っていません。
「msysgit」というGitクライアントが必要です。
 msysgit:http://goo.gl/Ggm3J
- 最新版の「 Git-1.8.5.2-preview20xxxxxx.exe 」をダウンロード(xxは日付)
- exeを実行してインストールする。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

10
TortoiseGitのインストール
 こちら(http://goo.gl/xGZDU)から、本体とLanguagePackesをダウ
ンロード&インストールします。
exeを実行するだけで、後はそんなに難しくないかと。

環境に合わせて 32/64bit を選択して下さい

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

11
TortoiseGitのGUI
 インストールが完了し、Windowsを再起動した後、エクスプローラー
でフォルダを右クリックすると、このようなメニューが出ます。
英語で表示される場合は、設定で言語を選択します。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

12
TortoiseGitの環境設定(1)
 前の画面のメニューから、「設定」を選択します。
 言語を「日本語」に設定します。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

13
TortoiseGitの環境設定(2)
 GIT上で表示されるユーザー名とメールアドレスを入力します。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

14
TortoiseGitの環境設定(3)
 プロキシサーバーを利用している場合は、「ネットワーク」にプロキ
シの情報を入力します。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

15
GitHubからクローンを作成する(1)
 ここでは、既にあるNotesDBのGitリポジトリからローカルに落とし、
Domino Designerに取り込み、DBに反映させます。
 クローンとは・・・
- リモートGitリポジトリ(ここはでGitHub)から自分のローカルPCに、ローカル
リポジトリとしてコピーすること。
- リポジトリまるごとコピーするため、SubversionやCVS、MSVSSなどと異なり、
履歴もコピーされる。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

16
GitHubからクローンを作成する(2)
 ローカルリポジトリを作成するフォルダで右クリック→「Gitクローン
(複製)」をクリック。
 URLを入力してOKを押します。URLは「https」で始まる必要があり
ます。GitHubのWebページの左側に出ています。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

17
Domino Designerにインポートする(1)
 メニュー「ウィンドウ(w)」→「Eclipseビューの表示」→「パッケージ・
エクスプローラー」を開く

 「パッケージ・エクスプローラー」ウィンドウで、右クリック→「イン
ポート」、インポートダイアログで、「既存プロジェクトをワークス
ペースへ」を選択して「次へ」を押します。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

18
Domino Designerにインポートする
 「ルートディレクトリーの選択」に、Gitのクローンで作成したローカ
ル・リポジトリのパスを入力します。正しければ、プロジェクト欄に
プロジェクトが表示されます。
 「プロジェクトをワークスペースにコピー」のチェックを外しておきま
す。
 「終了」を押すとインポートが開始されます。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

19
NotesDBに割り当てる(1)
 インポートしたプロジェクトはオンディスク・プロジェクトなので、こ
れをNotesDBに割り当てます。
 空のDBを作成します。
 デザイナで、DBタイトルのところで右クリック→「チーム開発」→
「既存のオンディスクプロジェクトに関連付ける」をクリックします。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

20
NotesDBに割り当てる(2)
 「選択したオンディスクプロジェクトから・・・」を選択し、オンディスク
プロジェクトのリストにある、先ほどインポートしたプロジェクトを選
択して、「終了」を押すと、DBに設計がインポートされます。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

21
用語の説明
 コミット
- ソースコードの目的の編集が完了した時に、SCMに対して記録を行います。
- SCMではコミットの単位で履歴が作成されます。また1つのコミットで複数のファイル
の変更が記録できます。そのため、複数のファイルの変更をセットとして遡ることが
できます。
- gitでは、コミットしただけではリモート・リポジトリには反映されません

 プッシュ
- ローカルのコミット情報をリモート・リポジトリに送信します。
- 他のユーザーが先にプッシュしていた場合、プッシュは失敗します。その場合は、プ
ルを行います。
 プル
- リモート・リポジトリの最新のコミット情報を取得し、ローカル・リポジトリにマージしま
す。通常マージ処理は自動的に行われますが、他の人と同じ箇所を修正した時など、
競合が発生します。
- 競合が発生した場合は、手動で解決する必要があります。
22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

22
コミットする
 開発作業はNotesDBで行いますが、コミットはオンディスクプロジェ
クトから行います。この間は自動的に同期されます。
 エクスプローラーで、オンディスクプロジェクトのフォルダを開き、
右クリック→「Gitコミット->master」をクリックします。
 *必ず*コメントを入れてOKボタンを押します。
コメントにIssuesのIDを入れて
連携させることができます。(後述)

変更したファイルの一覧です。
必要があればコミットするファイルを
選択します。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

23
プッシュする
 エクスプローラーで、オンディスクプロジェクトのフォルダを開き、
右クリック→「TortoiseGit」→「プッシュ(リモートへ反映)」をクリック
します。
 ダイアログが表示されますが、そのまま「OK」ボタンを押すとプッ
シュされます。この時、ユーザー/パスワードを聞いてきた場合は、
GitHubのWebページにアクセスする際のものを使用します。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

24
プルする
 ソースコードの変更がコミットされていない場合、プルできません。
 エクスプローラーで、オンディスクプロジェクトのフォルダを開き、
右クリック→「TortoiseGit」→「プル(ローカルへ反映)」をクリックし
ます。
 ダイアログが表示されますが、そのまま「OK」ボタンを押すとプッ
シュされます。この時、ユーザー/パスワードを聞いてきた場合は、
GitHubのWebページにアクセスする際のものを使用します。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

25
プッシュに失敗?
 プッシュした時に、他の人が先にリモートリポジトリにプッシュして
いた場合、エラーになります。
 その場合は、先にプルしてローカルリポジトリを最新の状態にマー
ジします。

メッセージを読むと、pullとかして
先にマージしてね、と書いているのがわかります。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

26
プルに失敗?
 プルした時に、他の人が自分と同じ箇所(ファイル単位ではなく、
ファイルの中の同じ箇所)を修正していると、マージできずに失敗
します。→競合状態のファイルがあります。
 その場合は共同を解消しましょう。

メッセージを読むと、競合をfixしてcommitしてね
と書いているのがわかります。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

27
競合ファイルの確認(1)
 競合の解消は、ツールを使用することで容易にできますが、何を
残すか、削除するかを判断する必要があります。
 競合が発生したファイルおよびそのファイルがあるフォルダは、エ
クスプローラー上で[!]のアイコンが表示されます。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

28
競合ファイルの確認(2)
 エクスプローラーの右クリック→「競合の解消」をクリックすると、競
合しているファイルの一覧が表示されます。
 そこでファイルを右クリック→「競合の編集」とすると、ツールが起
動します。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

29
競合の解消-どっちも残す場合
 競合している箇所は、赤く表示されます。それ以外の部分は自動的にマージさ
れているので、何もする必要はありません。
 この場合は、同じ箇所に「削除」ボタンと「閉じる」ボタンが追加されています。こ
れらはどちらも必要と判断しました。
 削除ボタン->閉じるボタンという順番にしたいので、範囲を選択して右クリック→
「「こちら側」の前に「あちら側」のテキストブロック使用」を押します。
 画面下の「マージ済み」で競合が解消できたのを確認できたら、「解決済みマー
ク」ボタンを押して、ツールを終了します。

範囲を選択(行単位)して、
右クリック
22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

30
競合の解消-片方のファイルの変更を無視
 一方のファイルの変更を無視して競合を解消することも有ります。
 この場合、ファイル内の競合箇所だけでなく、片方のファイルへの変更はすべて無視さ
れます。
 競合ファイルの一覧ダイアログで、ファイルを右クリック→「「あちら(こちら)側」を使用し
て競合を解決する」をクリックします。

 XPagesでは、「.metadata」という拡張子のファイルがよく競合しますが、これは更新者、
更新日時情報なので、マージする必要がありません。
 「あちら側」「こちら側」どちらを採用しても問題ありません。
 また画像ファイルなどバイナリファイルもこれで競合を解消します。
22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

31
よく使うコマンド(1)
 変更の取り消し
- 変更したソースコードを前のコミットの状態まで戻す。
※編集内容が削除されるので注意!

 ログを表示
- コミットの履歴の一覧を表示する。
- コミット毎に変更ファイルの一覧が表示される。
• 変更ファイルの一覧から、差分を見ることができる。
- 差分エディタで、部分的に前のコミットから戻したりできる。

- あるコミットからブランチを作成できる。

- あるコミットにカレントを切り替えることができる。
- などなど

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

32
よく使うコマンド(2)
 追加
- リポジトリに管理されていないファイルを追加します。
- 該当のファイルを右クリックすると出てきます。
- NotesDBでは新しい設計要素を作成した時に必要になります。
- コミット時に「バージョン管理下のファイルではありません」に出てくるので、
ここでチェックを入れても同じ結果になります。

 削除
- ファイルをリポジトリ管理下から削除し、ローカルからも物理的にファイルを
削除します。

- 「削除(ローカルを保持)」だとファイルをリポジトリ管理下から削除しますが、
ローカルからはファイルを削除しません。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

33
注意事項
 プルする場合は、Designerで開いているDBを閉じる。
- 右クリック→「アプリケーションを閉じる」で閉じられます。
- 理由:稀に同期がうまくいかず、ファイルの内容が空になるなどの不具合が
あります。

 フェッチは使用しない
- フェッチはマージされず、また現在のローカルソースには手を加えず、新し
いブランチができる。
- ブランチが理解できるようになったら、フェッチ→マージのほうが細かいコン
トロールができるので良い。

 BugFixと機能追加のブランチは分ける

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

34
Issuesの使い方
 GitHubにおけるIssuesは、タスクと同義と考えてよいです。
 バグの情報の他に、やるべきことなどを登録しておきます。
 チケット駆動開発においては、先にチケット(Issue)を作成し、それ
に従って開発を行い、チケットと同じ単位でコミットするのが基本で
す。(No Ticket, No Commit)
 コミットする際にコミット・コメントにIssue番号を入力することで、連
携できます。連携すると、GitのコミットコメントのIssue番号がIssue
画面へのリンクとなり、対象のIssueにコミットコメントがIssueのコメ
ントとして自動的に追加されます。

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

35
Issueラベルの意味







bug :バグ
duplicate :重複(他のIssueと同現象)
enhancement:改善要望
invalid :報告の間違い
question :質問
wontfix :対応しない(仕様とするなど)

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

36
今回話し足りないこと






社内Git環境の構築と、新しいGitリポジトリの作成
運用ルールについて
ブランチやマージの概念、使い方
チケット駆動開発について
Redmine、ALMiniumの紹介、Gitとの連携

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

37
参考資料
 サルでもわかるGit入門:http://goo.gl/2zmdU
 @IT:ガチで5分で分かる分散型バージョン管理システムGit:
http://goo.gl/KlbZR
 @IT:かんばん!~もし女子高生がRedmineで「スクラム」開発をし
たら:http://goo.gl/i5Ckw
 ドットインストール:gitの基礎:http://goo.gl/2yOgd
 やる夫で学ぶ gitcore-tutorial/Introduction:http://goo.gl/mnQYn

22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

38
22/01/2014

Version: [###] Classification: Internal Owner: [Insert name]

39

Weitere ähnliche Inhalte

Was ist angesagt?

バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
add20
 

Was ist angesagt? (8)

OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料
 
コンテナ導入概要資料2018
コンテナ導入概要資料2018コンテナ導入概要資料2018
コンテナ導入概要資料2018
 
GitLab CI/CD パイプライン
GitLab CI/CD パイプラインGitLab CI/CD パイプライン
GitLab CI/CD パイプライン
 
コンテナは次世代サービスの主流になるか?
コンテナは次世代サービスの主流になるか?コンテナは次世代サービスの主流になるか?
コンテナは次世代サービスの主流になるか?
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
 
Before lunch オプションを使って Flutterでstaging/release環境を切り替える
Before lunch オプションを使って Flutterでstaging/release環境を切り替えるBefore lunch オプションを使って Flutterでstaging/release環境を切り替える
Before lunch オプションを使って Flutterでstaging/release環境を切り替える
 
Google I/O 2021 Flutter 全体報告
Google I/O 2021 Flutter 全体報告Google I/O 2021 Flutter 全体報告
Google I/O 2021 Flutter 全体報告
 

Andere mochten auch

今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)
今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)
今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)
Takeshi Yoshida
 

Andere mochten auch (11)

POI4XPagesを使ったword-excelへの簡単エクスポート
POI4XPagesを使ったword-excelへの簡単エクスポートPOI4XPagesを使ったword-excelへの簡単エクスポート
POI4XPagesを使ったword-excelへの簡単エクスポート
 
ノーツアプリケーション開発 Hint & tips 101連発
ノーツアプリケーション開発 Hint & tips 101連発ノーツアプリケーション開発 Hint & tips 101連発
ノーツアプリケーション開発 Hint & tips 101連発
 
X page developer
X page developerX page developer
X page developer
 
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論
 
XPagesのパフォーマンス・チューニング
XPagesのパフォーマンス・チューニングXPagesのパフォーマンス・チューニング
XPagesのパフォーマンス・チューニング
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
 
Domino & REST
Domino & RESTDomino & REST
Domino & REST
 
【Xpages day2016】標準コントールを使わないxpage開発
【Xpages day2016】標準コントールを使わないxpage開発【Xpages day2016】標準コントールを使わないxpage開発
【Xpages day2016】標準コントールを使わないxpage開発
 
Notes を様々なサービスと連携させてみよう!
Notes を様々なサービスと連携させてみよう!Notes を様々なサービスと連携させてみよう!
Notes を様々なサービスと連携させてみよう!
 
今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)
今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)
今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)
 
Notes 技術者のための はじめての XPages 講座 (XPagesDay 2015)
Notes 技術者のためのはじめての XPages 講座 (XPagesDay 2015)Notes 技術者のためのはじめての XPages 講座 (XPagesDay 2015)
Notes 技術者のための はじめての XPages 講座 (XPagesDay 2015)
 

Ähnlich wie XPages開発におけるGit/GitHubの利用

もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
 
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
CROOZ, inc.
 
第1回Git勉強会
第1回Git勉強会第1回Git勉強会
第1回Git勉強会
kunimiya
 

Ähnlich wie XPages開発におけるGit/GitHubの利用 (20)

.NET Core時代のCI/CD
.NET Core時代のCI/CD.NET Core時代のCI/CD
.NET Core時代のCI/CD
 
Github入門2014
Github入門2014Github入門2014
Github入門2014
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたIBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみた
 
Node-REDのロードマップや見どころ
Node-REDのロードマップや見どころNode-REDのロードマップや見どころ
Node-REDのロードマップや見どころ
 
今さら聞けない人のためのGit超入門 OSC2018広島版
今さら聞けない人のためのGit超入門 OSC2018広島版今さら聞けない人のためのGit超入門 OSC2018広島版
今さら聞けない人のためのGit超入門 OSC2018広島版
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
 
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
 
今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのGit超入門 GitLab 13対応版今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのGit超入門 GitLab 13対応版
 
【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)
【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)
【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアル
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
第1回Git勉強会
第1回Git勉強会第1回Git勉強会
第1回Git勉強会
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
Git&GitHub入門
Git&GitHub入門Git&GitHub入門
Git&GitHub入門
 
GitHub Actions で CI/CD
GitHub Actions で CI/CDGitHub Actions で CI/CD
GitHub Actions で CI/CD
 

XPages開発におけるGit/GitHubの利用