Submit Search
医療データ解析者へ向けた Git・GitHub 入門
2 likes
1,011 views
Y
Yui Tomo
臨床研究など医療データを扱う解析担当者へ向けた、バージョン管理ツール Git, GitHub の入門資料です。※slideshare上での画像が見づらい場合は、ダウンロードしてご覧ください。
Software
Read more
1 of 66
Download now
Downloaded 25 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Most read
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Most read
63
64
Most read
65
66
More Related Content
PDF
LightGBM: a highly efficient gradient boosting decision tree
Yusuke Kaneko
PDF
Hyperoptとその周辺について
Keisuke Hosaka
PPTX
[DL輪読会]DropBlock: A regularization method for convolutional networks
Deep Learning JP
PPTX
x86x64 SSE4.2 POPCNT
takesako
PDF
深層自己符号化器+混合ガウスモデルによる教師なし異常検知
Chihiro Kusunoki
PPTX
[DL輪読会]Invariance Principle Meets Information Bottleneck for Out-of-Distribut...
Deep Learning JP
PPTX
【DL輪読会】Reward Design with Language Models
Deep Learning JP
PDF
VAEs for multimodal disentanglement
Antonio Tejero de Pablos
LightGBM: a highly efficient gradient boosting decision tree
Yusuke Kaneko
Hyperoptとその周辺について
Keisuke Hosaka
[DL輪読会]DropBlock: A regularization method for convolutional networks
Deep Learning JP
x86x64 SSE4.2 POPCNT
takesako
深層自己符号化器+混合ガウスモデルによる教師なし異常検知
Chihiro Kusunoki
[DL輪読会]Invariance Principle Meets Information Bottleneck for Out-of-Distribut...
Deep Learning JP
【DL輪読会】Reward Design with Language Models
Deep Learning JP
VAEs for multimodal disentanglement
Antonio Tejero de Pablos
What's hot
(20)
PDF
On the Convergence of Adam and Beyond
harmonylab
PPTX
[DL輪読会]Focal Loss for Dense Object Detection
Deep Learning JP
PDF
[DL輪読会]VNect: Real-time 3D Human Pose Estimation with a Single RGB Camera
Deep Learning JP
PDF
「今日から使い切る」ための GNU Parallelによる並列処理入門
Koji Matsuda
PDF
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Preferred Networks
PDF
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
Preferred Networks
PDF
【DL輪読会】Implicit Behavioral Cloning
Deep Learning JP
PDF
いろんなバンディットアルゴリズムを理解しよう
Tomoki Yoshida
PDF
機械学習モデルの判断根拠の説明
Satoshi Hara
PPTX
【論文紹介】How Powerful are Graph Neural Networks?
Masanao Ochi
PDF
Retty recommendation project
Jiro Iwanaga
PPTX
遺伝研スパコンの『ここが困った!』事例集と今後への提言
Masahiro Kasahara
PDF
【メタサーベイ】Video Transformer
cvpaper. challenge
PDF
タクシー運行最適化を実現する機械学習システムの社会実装
RyuichiKanoh
PDF
工学系大学4年生のための論文の読み方
ychtanaka
PDF
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
Takami Sato
PDF
猫でもわかる! モデル検査器 SPIN 入門
y_taka_23
PPTX
深層強化学習による自動運転車両の経路探索に関する研究
harmonylab
PDF
AdaFace(CVPR2022)
Kazuki Maeno
PDF
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
Takuya Akiba
On the Convergence of Adam and Beyond
harmonylab
[DL輪読会]Focal Loss for Dense Object Detection
Deep Learning JP
[DL輪読会]VNect: Real-time 3D Human Pose Estimation with a Single RGB Camera
Deep Learning JP
「今日から使い切る」ための GNU Parallelによる並列処理入門
Koji Matsuda
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Preferred Networks
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
Preferred Networks
【DL輪読会】Implicit Behavioral Cloning
Deep Learning JP
いろんなバンディットアルゴリズムを理解しよう
Tomoki Yoshida
機械学習モデルの判断根拠の説明
Satoshi Hara
【論文紹介】How Powerful are Graph Neural Networks?
Masanao Ochi
Retty recommendation project
Jiro Iwanaga
遺伝研スパコンの『ここが困った!』事例集と今後への提言
Masahiro Kasahara
【メタサーベイ】Video Transformer
cvpaper. challenge
タクシー運行最適化を実現する機械学習システムの社会実装
RyuichiKanoh
工学系大学4年生のための論文の読み方
ychtanaka
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
Takami Sato
猫でもわかる! モデル検査器 SPIN 入門
y_taka_23
深層強化学習による自動運転車両の経路探索に関する研究
harmonylab
AdaFace(CVPR2022)
Kazuki Maeno
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
Takuya Akiba
Ad
Similar to 医療データ解析者へ向けた Git・GitHub 入門
(20)
PDF
@s_ssk13さん向けGitHub入門
Takashi Imagire
PDF
GitHub勉強会
ArusuDev
PDF
Git_GiHub講習会.pdf
Takara Ishimoto
PPTX
今さら聞けない人のためのGit超入門
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのGitLabの始め方 Ubuntu編
VirtualTech Japan Inc./Begi.net Inc.
PPTX
GitHub勉強会~当日資料~
Shintaro Mizuno
PPTX
GitHub Handson
Yoichiro Shimizu
PDF
GitHub最新情報キャッチアップ 2023年6月
Kazumi OHIRA
PPT
Gitの紹介
Shoot Morii
PPTX
今さら聞けない人のためのGit超入門 2019/11/21
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのGit超入門 GitLab 14対応版
VirtualTech Japan Inc./Begi.net Inc.
PDF
Git_GitHub 入門者向けスライド.pdf
Yoshiki Tanaka
PPTX
今さら聞けない人のためのgit超入門
VirtualTech Japan Inc./Begi.net Inc.
KEY
Yapc2012資料
matsuo kenji
PPTX
色んな環境用の たった一つの.gitConfig
wataru uchiyama
PDF
GitHubの基礎からプログラム管理、そしてプログラムコードを論文に公開するまでの手順
Hayato Yamanouchi
PPTX
Git @ NNCT programming workshop
NNCT programming study group
PDF
Git
Masahiro Tomita
PPTX
今さら聞けない人のためのgit超入門
VirtualTech Japan Inc./Begi.net Inc.
PDF
Python for Data Analysis第1回勉強会(+git入門)
Makoto Kawano
@s_ssk13さん向けGitHub入門
Takashi Imagire
GitHub勉強会
ArusuDev
Git_GiHub講習会.pdf
Takara Ishimoto
今さら聞けない人のためのGit超入門
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのGitLabの始め方 Ubuntu編
VirtualTech Japan Inc./Begi.net Inc.
GitHub勉強会~当日資料~
Shintaro Mizuno
GitHub Handson
Yoichiro Shimizu
GitHub最新情報キャッチアップ 2023年6月
Kazumi OHIRA
Gitの紹介
Shoot Morii
今さら聞けない人のためのGit超入門 2019/11/21
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのGit超入門 GitLab 14対応版
VirtualTech Japan Inc./Begi.net Inc.
Git_GitHub 入門者向けスライド.pdf
Yoshiki Tanaka
今さら聞けない人のためのgit超入門
VirtualTech Japan Inc./Begi.net Inc.
Yapc2012資料
matsuo kenji
色んな環境用の たった一つの.gitConfig
wataru uchiyama
GitHubの基礎からプログラム管理、そしてプログラムコードを論文に公開するまでの手順
Hayato Yamanouchi
Git @ NNCT programming workshop
NNCT programming study group
Git
Masahiro Tomita
今さら聞けない人のためのgit超入門
VirtualTech Japan Inc./Begi.net Inc.
Python for Data Analysis第1回勉強会(+git入門)
Makoto Kawano
Ad
医療データ解析者へ向けた Git・GitHub 入門
1.
医療データ解析者へ向けた Git・GitHub 入門 Yui
Tomo October 25, 2020 @tomoybs Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 1 / 59
2.
目次 1 目的 2 解析プログラムのバージョン管理(よくある実態) 3
どういった問題があるのか? 4 Git · GitHub の紹介 5 Git · GitHub を使ってみよう 6 実際のプロジェクト運用の例 7 さらなる話題 Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 2 / 59
3.
目的
4.
目的 本資料の目的 • Git, GitHub
というツールを知る • Git, GitHub を使ったコード開発のイメージを掴む • Git, GitHub の最小限の機能を使って開発ができるようになる Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 3 / 59
5.
解析プログラムのバージョン管理 (よくある実態)
6.
解析プログラムのバージョン管理(よくある実態) あるある管理(?) • XX 試験統計解析.sas •
XX 試験統計解析 _2.sas • XX 試験統計解析 _2(〇〇先生更新).sas • XX 試験統計解析 _3(統合済み).sas • XX 試験統計解析 _4.sas • XX 試験統計解析 _4_1.sas • XX 試験統計解析 _4_ 最終版.sas • XX 試験統計解析 _var1 固定.sas Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 4 / 59
7.
解析プログラムのバージョン管理(よくある実態) 少し進化した管理方法 • 20200829_XX 試験統計解析.sas •
20200904_XX 試験統計解析.sas • 20200928_XX 試験統計解析.sas Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 5 / 59
8.
どういった問題があるのか?
9.
どういった問題があるのか? Case 1. 変更前に戻りたい Yui
Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 6 / 59
10.
どういった問題があるのか? Case 1. 変更前に戻りたい 日付管理でも大丈夫? Yui
Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 7 / 59
11.
どういった問題があるのか? Case 1. 変更前に戻りたい しかし現実には... Yui
Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 8 / 59
12.
どういった問題があるのか? Case 1. 変更前に戻りたい しかし現実には... Yui
Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 9 / 59
13.
どういった問題があるのか? Case 1. 変更前に戻りたい 問題点 •
現実には変更内容が多岐にわたり、単純に追跡して統合するのは大きな 労力が必要 • 度重なる修正を保ったまま変更前に戻ることはほとんど不可能 • 変更のたびに管理表のような書類を別に作成するのも面倒 Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 10 / 59
14.
どういった問題があるのか? Case 2. 複数人での作業 追加機能を切り分ければ大丈夫? Yui
Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 11 / 59
15.
どういった問題があるのか? Case 2. 複数人での作業 しかし現実には... Yui
Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 12 / 59
16.
どういった問題があるのか? Case 2. 複数人での作業 しかし現実には... Yui
Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 13 / 59
17.
どういった問題があるのか? Case 1. 変更前に戻りたい 問題点 •
現実には変更内容が多岐にわたり、単純に追跡して統合するのは大きな 労力が必要 • 作業者それぞれが独自に行った変更まで追跡するのは非常に面倒 • 変更の競合を追跡することも面倒 Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 14 / 59
18.
Git · GitHub
の紹介
19.
Git · GitHub
の紹介 Git とは? • 分散型バージョン管理システム • コマンドラインで動作するソフトウェア Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 15 / 59
20.
Git · GitHub
の紹介 分散型とは? • リモートとローカルにそれぞれ作業用のリポジトリ(変更管理場所)が 存在する • 用語は後ほど説明します Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 16 / 59
21.
Git · GitHub
の紹介 GitHub とは? • ソースコードホスティングサービス(クラウドのようなもの) • ローカルとリモートの「リモート側」 • ブラウザからアクセスできる Web サービス Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 17 / 59
22.
Git · GitHub
の紹介 Git, GitHub を使うと何が嬉しいのか? • ファイル名変更や管理表によるバージョン管理に頼らなくて良い •「枝」のように分枝させコード更新ができる • 複数人での共同開発がやりやすい Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 18 / 59
23.
Git · GitHub
を使ってみよう
24.
Git · GitHub
を使ってみよう Git のインストール Windows の場合: • Git for windows をダウンロード • https://git-scm.com/download/win •(慣れている方は WSL で) Mac の場合: • コマンドライン・デベロッパー・ツールをダウンロード Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 19 / 59
25.
Git · GitHub
を使ってみよう Git をどこから使う? Windows の場合: • Git Bash を使用 • Git for windows をインストールすると入っている •(慣れている方は WSL で) Mac の場合: • ターミナルを使用 Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 20 / 59
26.
Git · GitHub
を使ってみよう Bash コマンド(最低限) 息をするように使えるようになっておくと楽です Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 21 / 59
27.
Git · GitHub
を使ってみよう GitHub を使用する準備 • GitHub(https://github.com )へアクセスしユーザー登録 • コマンドラインから接続(SSH 接続)できるように、SSH キーを作成し GitHub へ登録(下記 URL などを参照) • https://qiita.com/shizuma/items/2b2f873a0034839e47ce Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 22 / 59
28.
Git · GitHub
を使ってみよう Git · GitHub の用語 • リポジトリ • ローカルリポジトリ • リモートリポジトリ • ブランチ • プルリクエスト • マージ Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 23 / 59
29.
Git · GitHub
を使ってみよう リポジトリ • ファイルやフォルダ(ディレクトリ)の変更履歴を管理する場所のこと •「バージョン管理したいコード類が入っているフォルダ」 Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 24 / 59
30.
Git · GitHub
を使ってみよう ローカルリポジトリ • 自分の(手元の)作業環境にあるリポジトリ Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 25 / 59
31.
Git · GitHub
を使ってみよう リモートリポジトリ • 自分の環境から「離れた」専用サーバー上にあるリポジトリ • GitHub 上のリポジトリはリモートリポジトリに該当 Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 26 / 59
32.
Git · GitHub
を使ってみよう リモートリポジトリ • リモートリポジトリは複数人(複数の作業環境)で共有できる Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 27 / 59
33.
Git · GitHub
を使ってみよう ブランチ • 並行して 複数のファイル変更やバージョンを管理する機能 Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 28 / 59
34.
Git · GitHub
を使ってみよう プルリクエスト • レビューアー(他の作業者 or 自分)に変更(ブランチ)の統合を依頼す ること • プルリクエストを受けたレビューアーがコードレビューを行い、変更を 統合する Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 29 / 59
35.
Git · GitHub
を使ってみよう マージ • 異なるブランチを統合すること Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 30 / 59
36.
Git · GitHub
を使ってみよう Git コマンドの使い方(最低限) • add • commit • push • pull • checkout • branch • clone Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 31 / 59
37.
Git · GitHub
を使ってみよう add コマンド • 更新内容を管理対象に追加する $ git add 更新対象としたいもの • 更新したファイル(main_analysis.sas)を管理対象に追加する $ git add main_analysis.sas • 更新したフォルダ・ディレクトリ(analysis/)を管理対象に追加する $ git add analysis • カレントディレクトリ以降の階層にある更新したファイル, フォルダ・デ ィレクトリを全て管理対象に追加する $ git add . Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 32 / 59
38.
Git · GitHub
を使ってみよう commit コマンド • add で管理対象にした更新内容を保存する • –m オプションで更新メッセージ(コミットメッセージ)を追加する $ git commit –m ” メッセージ(変更の概要など)” • ”modify covariates of linear regression” というメッセージを付与して変 更内容を保存する $ git commit –m ”modify covariates of linear regression” Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 33 / 59
39.
Git · GitHub
を使ってみよう push コマンド • ローカルリポジトリでの変更内容(commit した内容)をリモートリポジ トリに反映する $ git push origin ブランチ名 • コミット内容をリモートの master ブランチへ反映する $ git push origin master Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 34 / 59
40.
Git · GitHub
を使ってみよう pull コマンド • リモートリポジトリの内容をローカルリポジトリに反映する $ git pusll origin ブランチ名 • リモートの master ブランチをローカルの master ブランチへ反映する $ git pull origin master Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 35 / 59
41.
Git · GitHub
を使ってみよう checkout コマンド • 新しいブランチを作成してそこへ移動する $ git checkout -b 新しいブランチ名 • ローカルリポジトリでブランチを移動する $ git checkout ブランチ名 • develop ブランチを作成しそこへ移動する $ git checkout -b develop • master ブランチへ移動する $ git checkout master Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 36 / 59
42.
Git · GitHub
を使ってみよう branch コマンド • 現在のブランチ一覧を表示する $ git branch • リモートリポジトリのブランチも含めた一覧を表示する $ git branch -a • master, develop ブランチが存在し、master にいる際に現在のブランチ 一覧を表示する $ git branch > develop > * master Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 37 / 59
43.
Git · GitHub
を使ってみよう clone コマンド • リモートリポジトリと同じものをローカルに作成する $ git clone クローン URL • リモートリポジトリの特定のブランチと同じものをローカルに作成する $ git clone –b ブランチ名クローン URL • t-yui の causaltrtRiskRatioCI リポジトリと同じものをローカルに作成す る(HTTPS URL, SSH URL のいずれでも可) $ git clone https://github.com/t-yui/causaltrtRiskRatioCI.git $ git clone git@github.com:t-yui/causaltrtRiskRatioCI.git Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 38 / 59
44.
実際のプロジェクト運用の例
45.
実際のプロジェクト運用の例 リポジトリの作成とクローン • GitHub へアクセスし、リポジトリを作成する Yui
Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 39 / 59
46.
実際のプロジェクト運用の例 リポジトリの作成とクローン Yui Tomo (@tomoybs)
医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 40 / 59
47.
実際のプロジェクト運用の例 リポジトリの作成とクローン Yui Tomo (@tomoybs)
医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 41 / 59
48.
実際のプロジェクト運用の例 リポジトリの作成とクローン • Git Bash
(Windows) やターミナル (Mac) へ移動し、リポジトリをローカ ルにクローンする $ cd ∼/Develop # リポジトリを置きたいディレクトリへ移動 $ git clone https://github.com/t-yui/test_repo.git $ ls > test_repo/ # test_repo リポジトリが作成されている $ cd test_repo $ ls –a > ./ ../ .git/ # .git/というディレクトリが git 管理の本体 Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 42 / 59
49.
実際のプロジェクト運用の例 README ファイルの作成 README ファイルとは? •
リポジトリの説明を記述するファイル • マークダウン形式で記述する $ touch README.md # touch コマンドでファイル作成 • touch コマンドなどでファイルを作成する • その後は、VSCode, Atom, メモ帳などのテキストエディタで編集する • コマンドラインで作業を続けたい場合は vim 等で作成&編集しても OK Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 43 / 59
50.
実際のプロジェクト運用の例 .gitignore ファイルの作成 .gitignore ファイルとは? •
管理対象にしたくないものを記述するファイル • 特に、医学系研究ではデータ(xlsx, csv, sas7bdat, sav など)を誤ってア ップロードしないためにも、作成を推奨。 $ touch .gitignore # touch コマンドでファイル作成 • touch コマンドなどでファイルを作成する • その後は、VSCode, Atom, メモ帳などのテキストエディタで編集する • コマンドラインで作業を続けたい場合は vim 等で作成&編集しても OK Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 44 / 59
51.
実際のプロジェクト運用の例 .gitignore ファイルの作成 右の書き方で、下記のものを管理対象にしないことになる • csv
ファイル • xlsx ファイル • report ディレクトリ(フォルダ) より詳細な書き方は下記などを参照 • https://qiita.com/inabe49/ items/16ee3d9d1ce68daa9fff Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 45 / 59
52.
実際のプロジェクト運用の例 README と.gitignore をリモートに反映 •
作成したファイルを、デフォルトのブランチである master に反映させる $ git add README.md $ git commit –m ”create README.md” $ git add .gitignore $ git commit –m ”create .gitignore” $ git push origin master Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 46 / 59
53.
実際のプロジェクト運用の例 ブランチの作成 目標とするブランチ構造と各ブランチの役割 Yui Tomo (@tomoybs)
医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 47 / 59
54.
実際のプロジェクト運用の例 ブランチの作成 1. master ブランチ •
固定した版(動くことが保証されている版)を置く • develop からのみマージする 2. develop ブランチ • 開発中の版を置く • 機能開発用ブランチはここから枝分かれさせる 3. dev_function_X • 機能 X を開発するためのブランチ • 機能が完成したら develop へマージする Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 48 / 59
55.
実際のプロジェクト運用の例 ブランチの作成 • ブランチを作成し枝分かれさせる(push でリモートにも反映させる) •
俗に「ブランチを切る」と言う $ git checkout –b develop > Switched to a new branch ’develop’ $ git branch > * develop # 新たに作成した develop ブランチへ移動した > master $ git push origin develop Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 49 / 59
56.
実際のプロジェクト運用の例 コードの開発 • develop ブランチでコードの雛形を作成し、push
する • 解析用ディレクトリの構成をここで作成してもよい $ touch main_analysis.sas ↓ ~~~main_analysis.sas を編集~~~ ↓ $ git add main_analysis.sas $ git commit –m ”create main_analysis.sas” $ git push origin develop # develop ブランチへ push Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 50 / 59
57.
実際のプロジェクト運用の例 コードの開発 • dev_function_1 ブランチを作成し(ブランチを切り)、main_analysis.sas に機能
1 を追加する $ git checkout –b dev_function_1 $ git push origin dev_function_1 ↓ ~~~main_analysis.sas を編集し機能 1 を追加~~~ ↓ $ git add main_analysis.sas $ git commit –m ” 機能 1 を追加” # 日本語でも OK $ git push origin dev_function_1 # dev_function_1 ブランチへ push Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 51 / 59
58.
実際のプロジェクト運用の例 プルリクエストを出す Yui Tomo (@tomoybs)
医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 52 / 59
59.
実際のプロジェクト運用の例 プルリクエストを出す Yui Tomo (@tomoybs)
医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 53 / 59
60.
実際のプロジェクト運用の例 マージする Yui Tomo (@tomoybs)
医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 54 / 59
61.
実際のプロジェクト運用の例 develop ブランチの変更をローカルに反映する • ローカルで
develop ブランチへ戻り、リモートでなされた変更 (dev_function_1 の統合)を pull コマンドにより反映する $ git checkout develop $ git pull origin develop • ブランチ移動は commit 後でないとできないので注意(stash コマンドと いう一時的な回避方法はある) • あとは同様に機能 2, 機能 3, …を追加していく Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 55 / 59
62.
さらなる話題
63.
さらなる話題 master ブランチが main
ブランチに • リポジトリのデフォルトブランチ名が、2020 年 10 月より master ブラン チ -> main ブランチへと変更になるようです • 2020 年 10 月以前より存在するリポジトリでは変わらず master ブランチ がデフォルトのようです • 現在はまだ master として使用しても動作上の問題はありません Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 56 / 59
64.
さらなる話題 Git はコマンドラインでなくても使える • 今回はコマンドラインによる
CUI での操作方法の紹介がメインであった • CUI はハードルが高いと感じる場合、GUI での操作が可能なツールも開発 されている(GitGUI, TortoiseGit, SourceTree, GitHub Desktop) • ただし、Git の機能をフル活用しようと思った場合は CUI の方が良い Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 57 / 59
65.
さらなる話題 GitHub がコマンドラインでも使える • GitHub
CLI ver.1.0 が最近リリースされ、GitHub がコマンドラインでも使 用できるようになりました • Web ブラウザにアクセスして手動で行っていた作業をコマンドラインで 実現できます Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 58 / 59
66.
さらなる話題 運用ルールの策定 複数人や組織で使用する場合、ルールを策定することで運用がスムーズ になる • リポジトリの命名規則 • プルリクエストの記入項目(どのような変更を、どのような目的で行っ たのか?) •
README に書く項目(ex. 各ディレクトリやファイルの役割, 動作環境, etc…引継ぎコストを下げる) • etc ... Yui Tomo (@tomoybs) 医療データ解析者へ向けた Git・GitHub 入門 October 25, 2020 59 / 59
Download