SlideShare una empresa de Scribd logo
1 de 15
, 超入門
@tstomoki
目次
•
•
• 関連ツール
• 概念
• 基本的なコマンド
• 練習
https://github.com/darashi/horesa.se
とは
• グループ開発用のVersion管理システム
– Linuxの生みの親Linus Torvalds氏が開発
(現在のメンテナンスは濱野純氏)
• 他のVersion管理システムとの比較
時間軸的には
Linus TorvaldsがNVIDIAに対し中指を突き立てF発言(Gigazine)
Linus君がボクを後継者に指名した理由
参考
TortoiseCVS
なぜ を使うのか
• が一番優れているから
エディタ戦争(wiki)
参考 Git 対 Subversion: 長引く争い
Share率(左からBazzar, CVS, Git, Mercurial, Subversion) Git とSubversionが要求される職の相対的な成長度
と の違い
•
– 単一リポジトリ
– Commitしたら即反映
– Addするのは新規にファイルを追加するときだけ
– リビジョン番号は数字
– 考えるのは「ローカル」と「リポジトリ」の2つだけ
•
– 分散リポジトリ(マスターは1つ)
– Commitしても個人リポジトリにしか反映されない(pushすると反映)
– Commit前には毎回addする必要あり
– リビジョン番号はハッシュ値
– 考えるのは「ローカル」と「インデックス」と「個人リポジトリ」、「マスターリポジト
リ」の4つ
参考 subversionを使っていた人がgit便利だなと感じたこと
の概念
リポジトリ
ローカル ローカル ローカル
Commit/update
Commit/update
Commit/update
・ネット環境がないとcommitができない
・リポジトリの肥大化
の概念
マスターリポジトリ
個人リポジトリ
個人リポジトリ
個人リポジトリ
Push/fetch
merge or rebase / commit
ローカル
ローカル ローカル
インデックス
インデックス インデックス
Push/fetch
Push/fetch
merge or rebase / commit
merge or rebase / commit
add
add
addファイル更新
ファイル更新 ファイル更新
の概念
マスターリポジトリ
個人リポジトリ
個人リポジトリ
個人リポジトリ
Push/fetch
merge or rebase / commit
ローカル
ローカル ローカル
インデックス
インデックス インデックス
Push/fetch
Push/fetch
merge or rebase / commit
merge or rebase / commit
add
add
addファイル更新
ファイル更新 ファイル更新
ここまでローカルで完結
の概念
• branch機能
– 並行して行われる複数の機能追加やバージョン管理支援機能
サルでもわかるGit入門「ブランチとは」引用:
https://github.com/darashi/horesa.se
とは
• Gitリポジトリのホスティングサービス
– 開発者やチームが高速で良い品質のコードを生み出すためのコラボレー
ション機能の提供
• 革新的機能(科学者達の化学反応、創発)
– Fork
– Pull request
– Issue
• 開発されている言語
– Ruby on Rails
– node
– jQuery
– Symfony2
– Bootstrap
– elixir, etc
Github
https://github.com/darashi/horesa.se
関連ツール
• GUIツール
– Source Tree, GitX
– EGit
• テスト
–
• デプロイ
–
– Fabric
– Cinnamon(https://github.com/kentaro/cinnamon)
参考
Jenkinsを本気で怒らせたらこうなる
ぼくとJenkinsおじさんの360日戦争
基本的なコマンド
• 代表的なコマンドをいくつか
– git init (gitの初期化)
– git status (現在の状況表示)
(息を吸うように「git status」、なんならaliasしちゃいましょう)
– git add (fileをindexに追加)
– git commit (fileをローカルリポジトリに追加)
(svnから来てる人がよくやるgit commit –aは御法度)
– git diff (差分の確認)
– git branch(branchの確認)
(息を吐くように「git branch」、「すいません、違うブランチにpushしちゃいました」はよくあ
るGit事故Top3)
– git merge (branchのマージ)
– git rebase (branchのrebase)
Git 7つの心構え参考:
練習
• 練習用リポジトリをforkして使ってください
• 内容としては
– fizzbuzz.py (アルゴリズムの変更、可読化)
– novel.txt (小説の作成)
– typos.txt (誤字脱字の修正)
• 好きなようにやってcommit等しながら学ぶスタイル
• git status, add, commit, reset, revert, log, merge, rebase, stash,
reflog, cherry-pick, conflict くらいが見れればいいかなと。
環境設定
• windows, Mac, ubuntuの初期環境設定については簡単にま
とめました →
• 自分の環境に合わせて好きなクライアント等でやってみてく
ださい
• リポジトリの作り方とかも色々
– zshの設定と.zshrcをgit,dropboxでマシン別に一元管理する方法
– Ubuntu上にgitサーバの構築
gitの初期設定まとめ
参考・推薦サイト等
• サイト
– gitとsubversionのコマンド対応表 (subversionから来た人はここから)
– Git初心者が見るべきサイトまとめ (この辺全部見とけばどうにかなる)
– チーム開発に必要なgit コマンドを神速で習得しよう!-酒と泪とRubyとRailsと (効率的
に学べる気がする)
– LearnGitBranching (GitのBranchをクイズ形式で学べるサイト)
• slideshare, SpeakerDeck
– いつやるの?Git入門 (これみればGit内部の動きが理解できる)
– こわくないGit (branch, merge, rebase についての恐怖をなくしたいならこれ)
– Git 7つの心構え (rebaseについてちゃんと学べる)
• 参考図書
– 大塚弘記, 「GitHub 実践入門- Pull Requestによる開発の変革」, 技術評論社

Más contenido relacionado

La actualidad más candente

Sphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjpSphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjpTakeshi Komiya
 
Sphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメントSphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメントGo Yamada
 
SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括kk_Ataka
 
SIerでもSphinxを使いたい! 前編
SIerでもSphinxを使いたい! 前編SIerでもSphinxを使いたい! 前編
SIerでもSphinxを使いたい! 前編kk_Ataka
 
openSUSEの紹介とサーバ構築
openSUSEの紹介とサーバ構築openSUSEの紹介とサーバ構築
openSUSEの紹介とサーバ構築Kento Kawakami
 
My sql casual9lt_pub
My sql casual9lt_pubMy sql casual9lt_pub
My sql casual9lt_pubMeiji Kimura
 
Oktavia全文検索エンジン - SphinxCon JP 2014
Oktavia全文検索エンジン - SphinxCon JP 2014Oktavia全文検索エンジン - SphinxCon JP 2014
Oktavia全文検索エンジン - SphinxCon JP 2014Yoshiki Shibukawa
 
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話Takayuki Shimizukawa
 
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編Fuminobu Takeyama
 
マークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumiマークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumiTakeshi Komiya
 
Git LFSを触ってみた
Git LFSを触ってみたGit LFSを触ってみた
Git LFSを触ってみたYuto Suzuki
 
Sphinxの使い方事例
Sphinxの使い方事例Sphinxの使い方事例
Sphinxの使い方事例Go Yamada
 
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定Fuminobu Takeyama
 
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介kk_Ataka
 
個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100Go Yamada
 
15分でわかる分散バージョン管理システムgit
15分でわかる分散バージョン管理システムgit15分でわかる分散バージョン管理システムgit
15分でわかる分散バージョン管理システムgitTomohiro MITSUMUNE
 

La actualidad más candente (17)

Sphinx GO!!
Sphinx GO!!Sphinx GO!!
Sphinx GO!!
 
Sphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjpSphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjp
 
Sphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメントSphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメント
 
SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括
 
SIerでもSphinxを使いたい! 前編
SIerでもSphinxを使いたい! 前編SIerでもSphinxを使いたい! 前編
SIerでもSphinxを使いたい! 前編
 
openSUSEの紹介とサーバ構築
openSUSEの紹介とサーバ構築openSUSEの紹介とサーバ構築
openSUSEの紹介とサーバ構築
 
My sql casual9lt_pub
My sql casual9lt_pubMy sql casual9lt_pub
My sql casual9lt_pub
 
Oktavia全文検索エンジン - SphinxCon JP 2014
Oktavia全文検索エンジン - SphinxCon JP 2014Oktavia全文検索エンジン - SphinxCon JP 2014
Oktavia全文検索エンジン - SphinxCon JP 2014
 
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
 
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
 
マークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumiマークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumi
 
Git LFSを触ってみた
Git LFSを触ってみたGit LFSを触ってみた
Git LFSを触ってみた
 
Sphinxの使い方事例
Sphinxの使い方事例Sphinxの使い方事例
Sphinxの使い方事例
 
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
 
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介
 
個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100
 
15分でわかる分散バージョン管理システムgit
15分でわかる分散バージョン管理システムgit15分でわかる分散バージョン管理システムgit
15分でわかる分散バージョン管理システムgit
 

Similar a Git, Github超入門

LT資料-第3回_5分でわかるGitの世界
LT資料-第3回_5分でわかるGitの世界LT資料-第3回_5分でわかるGitの世界
LT資料-第3回_5分でわかるGitの世界Riki Kenmochi
 
Windows Subsystem for Linux について
Windows Subsystem for Linux についてWindows Subsystem for Linux について
Windows Subsystem for Linux についてMiho Yamamoto
 
ゼロからはじめるTerraformでのDevOps2021
ゼロからはじめるTerraformでのDevOps2021ゼロからはじめるTerraformでのDevOps2021
ゼロからはじめるTerraformでのDevOps2021Wataru Unno
 
[ノマワクラボ 第2回Web勉強会] Git入門
[ノマワクラボ 第2回Web勉強会] Git入門[ノマワクラボ 第2回Web勉強会] Git入門
[ノマワクラボ 第2回Web勉強会] Git入門Toru Tamura
 
Agileツール適合化分科会(変更管理・バージョン管理)
Agileツール適合化分科会(変更管理・バージョン管理)Agileツール適合化分科会(変更管理・バージョン管理)
Agileツール適合化分科会(変更管理・バージョン管理)masanori kataoka
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望Tetsuo Yamabe
 
Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02Aya Komuro
 
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 Hiro Yoshioka
 

Similar a Git, Github超入門 (9)

LT資料-第3回_5分でわかるGitの世界
LT資料-第3回_5分でわかるGitの世界LT資料-第3回_5分でわかるGitの世界
LT資料-第3回_5分でわかるGitの世界
 
Windows Subsystem for Linux について
Windows Subsystem for Linux についてWindows Subsystem for Linux について
Windows Subsystem for Linux について
 
Gitに触れよう
Gitに触れようGitに触れよう
Gitに触れよう
 
ゼロからはじめるTerraformでのDevOps2021
ゼロからはじめるTerraformでのDevOps2021ゼロからはじめるTerraformでのDevOps2021
ゼロからはじめるTerraformでのDevOps2021
 
[ノマワクラボ 第2回Web勉強会] Git入門
[ノマワクラボ 第2回Web勉強会] Git入門[ノマワクラボ 第2回Web勉強会] Git入門
[ノマワクラボ 第2回Web勉強会] Git入門
 
Agileツール適合化分科会(変更管理・バージョン管理)
Agileツール適合化分科会(変更管理・バージョン管理)Agileツール適合化分科会(変更管理・バージョン管理)
Agileツール適合化分科会(変更管理・バージョン管理)
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
 
Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02
 
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
 

Último

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Último (9)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

Git, Github超入門