SlideShare ist ein Scribd-Unternehmen logo
1 von 53
一人でもはじめる
Gitでバージョン管理
    岡山Javaユーザ会
  吉田貴文(@zephiransas)
自己紹介
• 吉田貴文
• ID:zephiransas
• 弱小SIerのプログラマ
• 岡山Javaユーザ会の中の人
• 最近は勉強会カメラマン
• ゆかりんのライブ行って来ました(・   ・)
告知

• 第4回岡山Javaユーザ回勉強会
• 11/3 13:00
• 岡山県立図書館
• Oracle寺田氏のJavaOne報告会
• JavaEEの話とかLambdaの話とか
今日、話すこと
• バージョン管理とは
• 集中VCSと分散VCS
• Gitのインストール
• Gitの使い方&実際の運用方法
• Githubの紹介
バージョン管理
  とは?
よくある
残念な事例
• 詳細設計書.xls
• 詳細設計書.xls
• 詳細設計書_20121020.xls
• 詳細設計書.xls
• 詳細設計書_20121020.xls
• 詳細設計書_20121020_1.xls
• 詳細設計書.xls
• 詳細設計書_20121020.xls
• 詳細設計書_20121020_1.xls
• 詳細設計書_20121020_1(最新).xls
• 詳細設計書.xls
• 詳細設計書_20121020.xls
• 詳細設計書_20121020_1.xls
• 詳細設計書_20121020_1(最新).xls
• 詳細設計書_20121020_1(最新)-コピー.xls
よくある
残念な事例
  その2
今日から
やめましょう
むしろ
やめろ
 コラ
バージョン管理とは?

• ファイルの変更履歴を記録する
• 差分を確認する
• 変更前の状態を復元する
• 変更の競合をマージする
現代の
ソフトウエア開発
  では必須
集中VCS
  と
分散VCS
ソース管理を行う
 リポジトリが
 どこにあるか
集中(C/S)型VCS
              共有
            リポジトリ
コミット
         チェックアウト

  作業コピー

       修正
   開発者
分散型VCS
                 共有
               リポジトリ
 push                              pull
        pull           push
               push             ローカル
 ローカル
リポジトリ                          リポジトリ
                pull
修正                            修正

 開発者                           開発者
現在は
分散VCSが主流
なぜ
分散型VCSなのか
なぜ分散型VCSなのか
• 集中型のようにサーバを準備しなくていい
 • つまり一人でも始められる
 • オフラインでも作業が可能
• ローカルコミット
• 柔軟な運用が可能
• (Git的に)マージが強力
Gitのインストール
まずは公式へ
http://git-scm.com/
Gitのインストール
• Mac
 • 公式からdmgでインストール
• Linux
 • apt-get or yum
• Windows
 • msysgit
GUIのツールは
 ないのん?
 (́・ω・`)
GUIのツールは
 ないのん?
 (́・ω・`)
Gitの基本はCUI
ただ、diffとかは
 GUIかなーと
各種GUI有り
http://git-scm.com/downloads/guis
Gitの使い方
    &
 運用方法
まずは一人で
ソース管理してみる
最初にすること


• 対象ディレクトリをgit管理下に置く
 • git init
普段やること
• ソースを修正する
• 修正したソースをコミット対象にする
 • git add
• ローカルリポジトリへコミット
 • git commit
ソースの修正




git add            git commit
その他のコマンド
• 差分が見たい
 • git diff
 • GUIで確認
• コミットログが見たい
 • git log
もっと進んだ
  使い方
共有リポジトリを作ろう

• Linuxでssh接続可能なサーバ
• ベアリポジトリの作成
 • git init --bare
• 朝一でpull、帰る時push
• もうGithubでいいじゃんww
共有
                 リポジトリ


          pull           push


             ソースの修正




git add                     git commit
Successful git branching model




             http://keijinsonyaban.blogspot.jp/2010/10/
                 successful-git-branching-model.html
Githubの紹介
Githubとは
• コードホスティング&SNSサービス
• ソースコードはGitで管理
• 現在最も人気のあるホスティングサービス
• 基本、無料で使える
 • プライベートリポジトリは有料
料金プラン
Github活用法
• 共有リポジトリが簡単につくれる
• 無料でも開始できる
• まずは試してみる
• 外部に出せないソースは月7$
• いつでも仕事ができますね!(キリッ
Conclusion
• ソース管理なしはセーブなしでRPGクリアす
 るようなもの

• まずはGitから
• 運用方法はsuccessful git branching
 modelがベース

• 共有リポジトリはGithub便利
なんか
質問ある?
一人でもはじめる
Gitでバージョン管理
    岡山Javaユーザ会
  吉田貴文(@zephiransas)

Weitere ähnliche Inhalte

Was ist angesagt?

もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
 

Was ist angesagt? (20)

デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門
 
プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドコンセプトから理解するGitコマンド
コンセプトから理解するGitコマンド
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
はじめようGit
はじめようGitはじめようGit
はじめようGit
 
Redmineとgitの 連携利用事例
Redmineとgitの 連携利用事例Redmineとgitの 連携利用事例
Redmineとgitの 連携利用事例
 
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfGit_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdf
 
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 

Ähnlich wie 一人でもはじめるGitでバージョン管理

Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
Junji Manno
 

Ähnlich wie 一人でもはじめるGitでバージョン管理 (20)

Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
Yapc2012資料
Yapc2012資料Yapc2012資料
Yapc2012資料
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
 
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
 
Introduction git
Introduction gitIntroduction git
Introduction git
 
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべ
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
 
Build insider offline session チームでのgit
Build insider offline session チームでのgitBuild insider offline session チームでのgit
Build insider offline session チームでのgit
 
Git超入門
Git超入門Git超入門
Git超入門
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみました
 
Devとopsをつなぐchat ops
Devとopsをつなぐchat opsDevとopsをつなぐchat ops
Devとopsをつなぐchat ops
 
2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座
 
なるべく噛み砕いたGit基礎講習
なるべく噛み砕いたGit基礎講習なるべく噛み砕いたGit基礎講習
なるべく噛み砕いたGit基礎講習
 
GitHub Handson
GitHub HandsonGitHub Handson
GitHub Handson
 
Git地図
Git地図Git地図
Git地図
 
GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話
 

Mehr von Takafumi Yoshida (11)

cucumber-jvmで受け入れテスト
cucumber-jvmで受け入れテストcucumber-jvmで受け入れテスト
cucumber-jvmで受け入れテスト
 
Lightfish触ってみた
Lightfish触ってみたLightfish触ってみた
Lightfish触ってみた
 
Javaから見たRubyの世界
Javaから見たRubyの世界Javaから見たRubyの世界
Javaから見たRubyの世界
 
はじめよう!Github
はじめよう!Githubはじめよう!Github
はじめよう!Github
 
なれる!SE 読んでみた
なれる!SE 読んでみたなれる!SE 読んでみた
なれる!SE 読んでみた
 
Play with Playframework
Play with PlayframeworkPlay with Playframework
Play with Playframework
 
Java7再入門講座
Java7再入門講座Java7再入門講座
Java7再入門講座
 
GlassFishとJavascriptで始めるWebsocket
GlassFishとJavascriptで始めるWebsocketGlassFishとJavascriptで始めるWebsocket
GlassFishとJavascriptで始めるWebsocket
 
初めてのJavaOne~ところで俺のiPhoneどこいった~
初めてのJavaOne~ところで俺のiPhoneどこいった~初めてのJavaOne~ところで俺のiPhoneどこいった~
初めてのJavaOne~ところで俺のiPhoneどこいった~
 
Glassfishで始める モテる!簡単クラスタ入門 Ver1.5
Glassfishで始める モテる!簡単クラスタ入門  Ver1.5Glassfishで始める モテる!簡単クラスタ入門  Ver1.5
Glassfishで始める モテる!簡単クラスタ入門 Ver1.5
 
Glassfishで始める モテる!簡単クラスタ入門
Glassfishで始める モテる!簡単クラスタ入門Glassfishで始める モテる!簡単クラスタ入門
Glassfishで始める モテる!簡単クラスタ入門
 

Kürzlich hochgeladen

Kürzlich hochgeladen (10)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

一人でもはじめるGitでバージョン管理

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. 但し、ソフトウエア開発者だけではなく、Webページを作成するデザイナーさんにとっても有効\n書籍を執筆するのに、使ってる人もいる\n技術書などでは、だいたいVCSで版管理してる\n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. mergeでbranchをバリバリ操作する\ngit-flowとかも使ってみるといいかも\n
  44. \n
  45. sourceforgeはCVSやsvnだった\nいまはかなり衰退して、ほとんどのPJは休止してしまっているらしい\n
  46. teamはリポジトリを所有できる\ncollaboratorはリポジトリを所有できない\n
  47. \n
  48. \n
  49. \n
  50. \n