# Git/GitHubハンズオン
2022/07/06 presented by @yukinissie
---
## ちょっとだけ自己紹介、、
### Yuki Nishi @ニッシー☆
#### ハッカソンでインフラを準備するお兄ちゃん
- NewsPicks, Inc. SRE Unit Internship
- 福岡出身の学部 ~~5~~ 4年生
- twitterId: @yukinissie
- 好きなクラウドサービス: AWS(Amazon Web Service)
---
<img src="https://i.imgur.com/DGJaeLZ.jpg" width="900" style="text-align:center" alt="1番大好きなハッカソンで最優秀賞をとったときのチーム集合写真で、1番左の人が私です。" />
小ネタ:チーム名が○ラクルの横暴を許すなになったのは真ん中の友人がオラクルクラウドから無差別バンされたからです。。w
---
<img src="https://i.imgur.com/QLh73Um.gif" width="900" style="text-align:center" />
(エンジニアのみなさん)
---
## Oracle
> オラクルは、アメリカ合衆国カリフォルニア州創業、テキサス州に本拠を置く、民間法人や公的機関を対象とするビジネス用途に特化したソフトウェア会社である。 2007年には世界で第3位のソフトウェア会社となり、2019年現在はマイクロソフトに次ぐ第2位の企業へと成長している。 日本法人は日本オラクル。
> 引用:[ウィキペディア](https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%A9%E3%82%AF%E3%83%AB_(%E4%BC%81%E6%A5%AD))
Javaをメンテ、提供している会社。Oracle Cloudという名のクラウドサービスも提供しています。つい最近までJavaで開発するためのOracleJDKが有料だったので嫌われています。
---
さて、余談はこの辺にして
---
本題に入りましょう!
---
## アジェンダ
- 導入
- ハッカソンあるある
- バージョン管理システム Git
- ソースコードホスティング&開発支援サービス GitHub
- ハンズオン
---
ハッカソンあるある言いたい〜
---
## ハッカソンあるある
1. コード共有どうしたらいいかわからなくて詰む
2. コード共有できたけどどうやって統合すればいいかわからなくて詰む
3. 統合できたけど思った通りに動かなくて詰む
---
## 1. コード共有どうしたらいいかわからなくて詰む
---
## 1. コード共有どうしたらいいかわからなくて詰む
- USBで渡す?
- Googleドライブに上げる?
- 同じパソコンに接続して直接編集?
---
めんどいからだれか1人がやって()
---
## 2. コード共有できたけどどうやって統合すればいいかわからなくて詰む
---
## 2. コード共有できたけどどうやって統合すればいいかわからなくて詰む
- Aさん編集済みindex.htmlとBさん編集済みindex.htmlからindex.htmlを作り出さなければならない。
- うっかりコードを書き間違えると動かなくなる。
- 数行程度ならまだしも何百行数十ファイルを同時にやらなければならない。
---
普通に無理ゲー😇
---
## 3. 統合できたけど思った通りに動かなくて詰む
---
## 3. 統合できたけど思った通りに動かなくて詰む
- 消しちゃいけないファイルを消したかもしれない。
- 統合漏れがあるのかもしれない。
- 不要になったコードをまた書いてしまったかもしれない。
---
そもそも、それは統合できたとは言わない😈
---
じゃあどうするか?
---
Gitを使いましょう!
---
## バージョン管理システム Git
---
## Gitとは?
> Gitは、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。Linuxカーネルのソースコード管理に用いるためにリーナス・トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用されている。
> 引用:[ウィキペディア](https://ja.wikipedia.org/wiki/Git)
---

---
これらのあるあるが
1. コード共有どうしたらいいかわからなくて詰む
2. コード共有できたけどどうやって統合すればいいかわからなくて詰む
3. 統合できたけど思った通りに動かなくて詰む
---
なくなります!
1. コード共有どうしたらいいかわからなくて詰む
~~2. コード共有できたけどどうやって統合すればいいかわからなくて詰む~~
3. 統合できたけど思った通りに動かなくて詰む
(なくなってないやないかい!)
---
## ソースコードホスティング&開発支援サービス GitHub
---
## GitHubとは?
> GitHubは、ソフトウェア開発のプラットフォームであり、ソースコードをホスティングする。コードのバージョン管理システムにはGitを使用する。Ruby on RailsおよびErlangで記述されており、アメリカのカリフォルニア州サンフランシスコ市に拠点を置くGitHub社によって保守されている。
> 引用:[ウィキペディア](https://ja.wikipedia.org/wiki/GitHub)
Gitで管理しているソースコードをいい感じに共有するためのWebサービス
---

---
これらのあるあるが
1. コード共有どうしたらいいかわからなくて詰む
~~2. コード共有できたけどどうやって統合すればいいかわからなくて詰む~~
3. 統合できたけど思った通りに動かなくて詰む
---
なくなります!
~~1. コード共有どうしたらいいかわからなくて詰む~~
~~2. コード共有できたけどどうやって統合すればいいかわからなくて詰む~~
3. 統合できたけど思った通りに動かなくて詰む
(なくなってないやないかい!)
---
## Gitを使う
### インストールしてみよう〜〜
-
### 最低限知りたいコマンド
- git init
- git status
- git add
- git commit
- git checkout
- git pull
- git push
- git clone
### git init
## GitHubを使う
### 最低限知りたい機能
- プルリクエスト
- GitHub Actions
{"metaMigratedAt":"2023-06-17T04:15:48.851Z","metaMigratedFrom":"YAML","title":"Git/GitHubハンズオン","breaks":true,"slideOptions":"{\"theme\":\"white\",\"slideNumber\":\"c/t\",\"center\":true,\"transition\":\"none\",\"keyboard\":true,\"width\":\"93%\",\"height\":\"100%\"}","contributors":"[{\"id\":\"861b06a9-dfd5-42cf-b605-4225a1f8da50\",\"add\":5999,\"del\":2799}]"}