ぼっち開発から始めるGit

3.5K Views

September 01, 23

スライド概要

2023/9/1 SWEST25
https://swest.toppers.jp/SWEST25/program#s3c

profile-image

SeeedKKの中の人。Microsoft MVP for Internet of Things。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

ぼっち開発から始めるGit MATSUOKA Takashi @matsujirushi12

2.

✓ 事前にインストールしておくソフトウェア ✓ PCとWi-Fi接続 ✓ スライド https://speakerdeck.com/matsujirushi/botutikai-fa-karashi-merugit

3.

MATSUOKA Takashi @matsujirushi12 「e」3つ 2017~ MVP for Windows Development 2020~ for Microsoft Azure 2022~ for Internet of Things 1991年大手メーカーに入社し、 工場の自動化や情報システム の開発、運用に従事。2017年8 月、Seeed株式会社設立時に 転職。組み込みデバイスの開 発環境整備やライブラリ開発 を担当。 ↑ ↑ 仕事 趣味

5.

Open Hardware Modules Single Board Computer Industrial IoT Solutions Edge Computing & Private Cloud Microcontroller, Module & Extension Board Seeed Edge Computing Solution Wireless Node Sensor & Actuator

6.

https://www.seeedstudio.com/make_sense_from_the_true_wild.html

7.

Bazaar https://www.seeedstudio.com/ Wiki https://wiki.seeedstudio.com/ > 450 技術資料 Driver Library Catalog https://www.seeedstudio.com/make_sense_from_the_true_wild.html Wikiの ソース

8.

ひとり開発(ぼっち開発)でも Gitは使える?

9.

もちろん使えます。 Gitを使うと変更履歴の記録や確認、戻しがスマートに行えます。 費用はかかりません。無償です。 さらに、GitHubなどのホスティングサービスと連携すると、あなたの 大切なソースコードを守ってくれます。

10.

ドラッグレース計測システム ProTree2013.YYYYMMDDx.zip 139ファイル

11.

Git未使用 ① 変更履歴、書き忘れ ② zip忘れ ⑤ 特別扱い ③ zip解凍 ④ フォルダ比較

12.

Git使用 変更の記録 (コミット) 変更の関係 (コミット履歴) 比較 (差分)

13.

Lab1 インストール

14.

Visual Studio Code 参考画面ショット: https://github.com/algyan/XIAOGYAN/blob/main/manuals/software/screenshot/install/vscode.md 1. 2. 3. 4. ブラウザでDownload Visual Studio Codeページ(https://code.visualstudio.com/download)を開いてください。 Windowsをクリックしてください。インストールファイルがダウンロードされます。 インストールファイルを実行してください。Visual Studio Codeのセットアップ画面が表示されます。 画面の指示にしたがってセットアップを完了してください。 • 使用許諾契約書の同意 - 同意するを選択 • 追加タスクの選択 - PATHへの追加(再起動後に使用可能)を選択 Git 参考画面ショット: https://github.com/algyan/XIAOGYAN/blob/main/manuals/software/screenshot/install/git.md 1. 2. 3. 4. 5. ブラウザでDownload Gitページ(https://git-scm.com/downloads)を開いてください。 Windowsをクリックしてください。Download for Windowsページが表示されます。 64-bit Git for Windows Setupをクリックしてください。インストールファイルがダウンロードされます。 インストールファイルを実行してください。Gitのセットアップ画面が表示されます。 画面の指示にしたがってセットアップを完了してください。 • Select Components - Git LFSとScalarを選択 • Choosing the default editor used by Git - Use Visual Studio Code as Git's default editorを選択 • Adjusting your PATH environment - Git from the command line and also from 3rd-party softwareを選択 Visual Studio Code拡張 参考画面ショット: https://github.com/algyan/XIAOGYAN/blob/main/manuals/software/screenshot/install/vscodeext.md ※ PlatformIOの部分は不要 1. Visual Studio Codeを起動してください。 2. EXTENSIONS画面でMS-CEINTL.vscode-language-pack-ja(Japanese Language Pack for Visual Studio Code)を検索してインストールしてく ださい。 3. Visual Studio Codeを再起動してください。 4. 拡張機能画面でmhutchie.git-graph(Git Graph)を検索してインストールしてください。 5. Visual Studio Codeを再起動してください。

15.

Lab2 予備知識

17.

“Git(ギット)は、プログラムのソースコードなどの変更履歴を記録・追跡するための 分散型バージョン管理システムである。Linuxカーネルのソースコード管理に用い るためにリーナス・トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用 されている。” https://ja.wikipedia.org/wiki/Git “GitHub(ギットハブ)は、ソフトウェア開発のプラットフォームであり、 ソースコードをホスティング する。コードのバージョン管理シ ステムにはGitを使用する。” https://ja.wikipedia.org/wiki/GitHub

18.

Git / GitHub github.com リポジトリ#1 Remote Repository リポジトリ#1 Local Repository Issues Pull requests リポジトリ#2

19.

作業エリア / リポジトリ / 追跡 作業エリア 作業フォルダー プロジェクトフォルダー リポジトリ 追跡対象外 (Untracked) 追跡対象 (Tracked) ✓ ✓ ✓ ✓ 作業エリアのファイルを追跡してリポジトリに記録 リポジトリは.gitフォルダー .gitignoreで追跡を無視 作業エリアの削除はフォルダー削除でOK 追跡無視 .gitignore templates https://github.com/github/gitignore

20.

未変更 / 変更 / ステージ と コミット、チェックアウト Tracked 作業エリア Commit 記録(追加) 変更の記録 ✓ ファイルはUntrackedかTracked ✓ ファイルを変更するとUnmodified -> Modified ✓ コミットするとStagedをひとまとめにしてリポジトリへ記録 ✓ コミットを作業エリアへ展開するときはチェックアウト チェックアウト リポジトリ

21.

コミット履歴 / タグ / ブランチ コミット履歴 #1 コミット 1回目 コミット履歴 #2 コミット 2回目 mainブランチで コミットすると… コミット 2回目 コミット 3回目 ブランチ - main ブランチ - main タグ – v1.0 ブランチ - main タグ – v1.0 変更の関係 ✓ コミットの履歴はコミット履歴 ✓ コミットに名前を付けることができる。タグとブランチ ✓ タグはコミットの別名 ✓ ブランチは作業エリアの選択に使う コミット 1回目

22.

分岐 / マージ コミット履歴 #1 コミット履歴 #2 main bugfix v1.0 main v1.0 コミット履歴 #4 コミット履歴 #3 main bugfix bugfix 変更の関係 ✓ 分岐という操作は無い(ブランチを作ってコミット) ✓ マージは細心の注意を マージ v1.0 main v1.0 分岐

23.

1. リポジトリ化 Lab3 基本操作 2. 変更の記録 3. 分岐 4. マージ

24.

1-1. リポジトリを作成 空のリポジトリを作成します。 1. 作業エリア(ここではC:\swest25s3c\myrepo)に移動して、git initコマンドを実行 C:\> mkdir swest25s3c C:\> cd swest25s3c C:\swest25s3c> mkdir myrepo C:\swest25s3c> cd myrepo C:\swest25s3c\myrepo> git init Initialized empty Git repository in C:/swest25s3c/myrepo/.git/ C:\swest25s3c\myrepo> エクスプローラーのオプションで「隠し フォルダーを表示する」にすると、.git フォルダーを見ることができます。

25.

1-2. ReButtonAppをコピー 以降、履歴が入っているリポジトリを使いたいので、GitHubにあるReButtonAppをコピーします。 1. C:\swest25s3cに移動して、 git cloneコマンドを実行 C:\> cd swest25s3c C:\swest25s3c>git clone https://github.com/SeeedJP/ReButtonApp Cloning into 'ReButtonApp'... remote: Enumerating objects: 489, done. remote: Counting objects: 100% (58/58), done. remote: Compressing objects: 100% (24/24), done. remote: Total 489 (delta 43), reused 37 (delta 34), pack-reused 431 Receiving objects: 100% (489/489), 136.64 KiB | 3.50 MiB/s, done. Resolving deltas: 100% (296/296), done. C:\swest25s3c>

26.

1-3. VSCodeで開く メニューバー アクティビティバー サイドバー エディターグループ パネル ステータスバー

27.

1-3. VSCodeで開く エクスプローラー ソース管理

28.

1-3. VSCodeで開く VSCodeで作業エリアを開きます。 1. 「ファイル > フォルダーを開く」を実行して、作業エリア(C:\swest25s3c\ReButtonApp)を開く 「このフォルダー内のファイルの作成者 を信頼しますか?」が表示されたときは、 「はい、作成者を信頼します」をクリックし てください。

29.

1-3. VSCodeで開く 変更履歴

30.

1-4. 追跡無視を設定 追跡無視の振る舞いを確認します。 1. ReButtonApp.objファイルを作成 2. ソース管理画面を確認 3. .gitignoreファイルに*.objを追記 4. ソース管理画面を確認

31.

2. 変更の記録 ReButtonApp.inoの変更を記録します。 v2/main

32.

2-1. チェックアウト 1. v2/mainを右クリックして、Checkout Branchを選ぶ (既にチェックアウトしているときは、Checkout Branchが表示されません)

33.

2-2. 変更 1. ReButtionApp.inoを変更

34.

2-3. コミット 1. メッセージを記入してコミット

35.

2-4. (ファイルをステージング) Stagedが無いときは、Modifiedがコミットされます。(VSCodeの振る舞い) コミット対象

36.

3. 分岐 v2/mainを分岐して、v2/devへ変更を記録します。 v2/dev v2/main

37.

3-1. ブランチを作成 1. 対象のコミットを右クリックして、Create Branchを選ぶ

38.

3-2. 変更してコミット 1. ReButtonApp.inoを変更してコミット

39.

4. マージ v2/devをv2/mainへマージします。 v2/main v2/dev

40.

4-1. チェックアウト 1. 変更するブランチ(v2/main)をチェックアウト

41.

4-2. マージ 1. 変更内容のブランチ(v2/dev)を右クリックして、Merge into current branchを選ぶ

42.

Lab3 まとめ 1. 作業エリア/リポジトリ/追跡 ✓ mkdir ✓ git init / git clone ✓ .gitignore 2. 変更とコミット ✓ チェックアウト ✓ ステージング ✓ コミット 変更の記録 3. 分岐 ✓ ブランチ作成 4. マージ ✓ チェックアウト ✓ マージ 変更の関係

43.

1. ブランチ戦略 2. コーディングスタイル 3. ファイル分割 Lab4 応用 4. ステージングの使い方 5. コミットの頻度 6. 変更履歴の分析 7. バックアップ

44.

Gitに適した 運用ルール大事

45.

1. ブランチ戦略 ✓ 主軸は「main」ブランチ ✓ 開発中は「dev」ブランチ ✓ 要望/不具合毎にブランチを追加 ✓ 早急に「main」ブランチへマージ ✓ (変更の関係を編集する機会を減らす) https://nvie.com/posts/a-successful-git-branching-model/

46.

2. コーディングスタイル ✓ 不要なコードや ファイルは削除

47.

2. コーディングスタイル https://twitter.com/yaneuraou/status/1688432928521596928 ✓ 自動整形ツール使う

48.

3. ファイル分割 ✓ ファイルを分割

49.

4. コミットの頻度 ✓ devブランチは細かく ✓ mainブランチはまとめて

50.

5. ステージングの使い方 Staged Modified ✓ コンパイルが通ったらStaged ✓ 動作確認したらコミット

51.

6. 変更履歴の分析 ✓ ツール多数(この例は、GitLens) ✓ 行ごとの履歴

52.

7. バックアップ ✓ GitHubのプライベートリポジトリにバックアップ ✓ コード漏洩のリスクあり? https://zenn.dev/miyajan/scraps/3567cee380280c github.com リポジトリ#1 Remote Repository リポジトリ#1 Local Repository https://github.co.jp/pricing