gitを1から学ぼう!
Introduction
1. gitを入れましょう!
Introduction
Windows
https://gitforwindows.org/
Mac
https://git-scm.com/downloads
Introduction
2. githubのアカウントを作りましょう!
Introduction
https://github.com/
Basic
git って、何なの?
Basic
プログラムのソースコードなどの
変更履歴を記録・追跡するための
分散型バージョン管理システム
https://ja.wikipedia.org/wiki/Git
Basic
誰がこんなの作ったの?
Basic
誰?
Basic
https://ja.wikipedia.org/wiki/Git
リーナス・トーバルズ
Introduction
https://ja.wikipedia.org/wiki/Git
リーナス・トーバルズ
私がLinuxを作りました!
Introduction
https://ja.wikipedia.org/wiki/Git
リーナス・トーバルズ
Linuxを作った後、
BitKeeperでソース管理を
してたのですが、
いろいろあって
使えなくなったので、
gitを自分で作りました!
Basic
なんでリーナスはgitを作ったの?
Introduction
https://ja.wikipedia.org/wiki/Git
リーナス・トーバルズ
だって、みんな、
めっちゃパッチ(ソースの修正)
送ってくるんだもん!
Basic
とゆーことで、考えてみよう!
Basic
gitってなんで使うのさ?
Basic
・自分のソース修正は自分で管理
→ミスっても自分のレポジトリ内で収めればいい
→自分の都合で自由にソース修正をしてよい
・他人のソース修正も自分で取り込む
→自分の気に入らないソースは取り込まなくていい
→他人のミスによる影響を受けない
Basic
え?よくわかんないって?
Basic
ってゆーか、
subversion でいいんじゃない?
Basic
Subversionは集中管理
repository
Developer Developer Developer
check out / update
commit
local
repository
local
repository
local
repository
master
repository
Basic
gitは分散管理
Developer
Developer Developer
clone / pull
push
Administrator
commit
local
repository
local
repository
local
repository
master
repository
Basic
gitはレポジトリ間でやりとり
Developer
Developer Developer
clone / pull
push
Administrator
commit
Basic
簡単に言うと、
Subversionは1レポジトリで管理
Gitは各自のレポジトリで管理
(masterは決める)
Basic
まとめ
Basic
・各自勝手にソースを管理できて
・いい感じになったら、他の人へソースを送れて
・受け取ったソースが良さそうなら、自分のソースに反映で
きる
Basic
それがgitだ!w
Basic
え?ちょっとまって?
Basic
なんでgit流行ってる理由
説明してなくない?
Basic
そうでした。
ちゃんと説明します。
Basic
gitを流行らせたヤツがいるんです!
Basic
ヤツです!
Basic
コイツだ!
GitHubです!
Basic
Octocathttps://github.com/
Basic
GitHubとは?
GitHubは、ソフトウェア開発のプラットフォームです。オープンソースプロジェ
クトやビジネスユースまで、GitHub上にソースコードをホスティングすることで
数百万人もの他の開発者と一緒にコードのレビューを行ったり、プロジェクトの
管理をしながら、ソフトウェアの開発を行うことができます。
https://github.com/
Basic
GitHubのいいところ
● 無料で使える
● Pull Request
● 色んなツールと連携可能
● CI/CDをしやすい
Basic
GitHubを使ったCI/CD
CI/CD = Continuous Integration / Continuous Delivery
https://aws.amazon.com/jp/blogs/devops/setting-up-a-ci-cd-pipeline-by-integrating-jenkins-with-aws-codebuild-and-aws-codedeploy/
https://github.com/syncany/syncany/wiki/Continuous-integration
Basic
まとめ(2回目)
Basic
● GitHubのようなインターネット上のソース管理サービス
が出てきた
● OSS開発に非常にマッチした
● CI/CDをしやすく、作業効率が劇的に上がった
Basic
わかっていただけたろうか?w
HandsOn
これからが本題です!
(やっと)
HandsOn
gitの基本的な使い方
HandsOn - 基本コマンド(今日覚えたい)
git clone
git pull
git branch
git checkout
git status
git add
git commit
git push
git log
HandsOn
gitの基本的なフロー
local
repository
master
repository
HandsOn - 今日やること
Developer
push
Administrator
Branch
status
add
commit
log
clone
pull
HandsOn
(実践)
HandsOn - 便利コマンド(時間があればやる)
git reset
git revert
git rebase
git cherry-pick
git merge
git init
git diff
git grep
git fetch
git config
git clean
HandsOn
(実践)
Appendix
https://git-scm.com/
https://git-scm.com/book/ja/v2
https://www.atlassian.com/ja/git
終わり

gitを1から学ぼう!