Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

GUIツールで送る快適な Gitライフ@Creators MeetUp #29

4,861 views

Published on

第29回 Creators MeetUpの登壇資料です!
http://cmu.connpass.com/event/15401/

昨今、非エンジニアの間でもGitが浸透してきましたが、コマンド操作に慣れない方も多いのではないでしょうか?
GUIツールでコマンドいらずなGitライフをオススメします。 コマンドだと複雑な操作もラクラクなので、エンジニアの方でもこの機にぜひ。

武井絵利菜@skyguild
http://skyguild.jp

Published in: Technology
  • Be the first to comment

GUIツールで送る快適な Gitライフ@Creators MeetUp #29

  1. 1. 自己紹介 三上絵利菜 ・日本電子専門学校 Webデザイン科 卒業 ・Web制作会社でエンジニア兼ディレクター ・オープンソースプロジェクト SetucoCMS のリーダー これまで @skyguild フリーランスのWebエンジニア NEW!
  2. 2. 今日 話すこと
  3. 3. ↓ GitのGUI ツールを使って 複雑な操作もラクラク使いこなす方法! 今日 話すこと ・最近は非エンジニアの間にも Git が普及してる印象。 ・ネット上の情報も豊富になってきた。 ・しかし、ほとんどがコマンド(ターミナル操作)前提の説明。 ・コマンドで複雑な操作をするのは難しい。 主にMac 中心に(ごめんなさい)
  4. 4. ご注意 ・各情報は 2015/06/20 時点で確認しているものです。  最新と異なる可能性がありますのでご了承ください。 ・GUI ツールを使用することを前提に、操作名(コマンド名)の説明を 省略している部分があります。 ・もし、間違ってる部分があればやんわりとご指摘ください(́・ω・`)
  5. 5. Gitとは? プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バー ジョン管理システム(VCS)である。 VCS とは? バージョン管理システム (Version Control System) ファイルに対して「誰が」「いつ」「何を変更したか」というような情報を記 録することで、過去のある時点の状態を復元したり変更内容の差分を表示で きるようにするシステムのこと。 「Git - ウィキペディア」より 「知らないと現場で困るバージョン管理システムの基礎知識 - @IT」より http://www.atmarkit.co.jp/ait/articles/1305/20/news015.html
  6. 6. リポジトリ ファイルやバージョン管理情報などの保管場所 ブランチ 並行して別々の履歴を持つことができる機能 タグ 更新のタイミングなど何らかのポイントとなる箇所を記録する機能 マージ ブランチ通しや、リモート・ローカル間の commit を合体する Git の基本用語
  7. 7. clone / pull リモートの内容をローカルにもってくる、初回を clone、初回以降を pull という add(index/stage) 変更したファイルをステージングエリアへ追加 ステージングエリアの時点ではまだリポジトリには影響ない commit add された(ステージングエリアの)内容で変更を確定する ローカルリポジトリに履歴として記録される、リモートには影響はない push ローカルの commit をリモートに反映する Git の基本用語
  8. 8. 集中型 分散型 代表的な VCS: SVN、CVS など ・リポジトリがひとつ ・リモートリポジトリを介してしか  ファイル管理がおこなえない 代表的な VCS: Git、Mercurial など ・リポジトリが複数 ・ローカル(一人ひとり)のリポジトリで  ファイルの管理が行える 集中型と分散型 リモート リポジトリ リモート リポジトリ ローカル リポジトリ ローカル リポジトリ ローカル リポジトリ
  9. 9. 黒い画面でコマンド打ってた のが・・・ こう! GitのGUI ツール ↓
  10. 10. ・有料:¥5,999 /人 ・Git クライアント ・GitHub, Beanstalk, Bitbucket と 連携可 ・メニューが英語 ・高機能 ・操作性が優れていてわかりやすい  (個人的感想) ・30 日のトライアル有り ・無料 ・Git, Mercurial クライアント  (SVN も使える ) ・GitHub, Bitbucket, Stash と連携可 ・メニューなど日本語に対応 ・できること自体は大体 Tower と同じ ・日本語なのがちょっぴりわかりやすい  (個人的感想) Tower と SourceTree 比較 http://www.git-tower.com/ https://www.sourcetreeapp.com/ Tower(Mac) SourceTree
  11. 11. Tower と SourceTree 比較 Tower
  12. 12. SourceTree Tower と SourceTree 比較
  13. 13. 操作紹介:基本コマンド
  14. 14. Tower:clone 1. ダッシュボードで「Clone」をクリック
  15. 15. 2. それぞれ設定し、「Clone」をクリック A:リポジトリ URL(SSH)   コピーしてきた SSH のアドレス B:GitHubやBitbucket のアカウント C:SSH の秘密鍵を選択 D:ローカルの clone したい場所を選択 3. リポジトリの画面に Clone したリポジ トリが表示される A B C D
  16. 16. SourceTree:clone 1. ダッシュボードで「New Repository」> 「Clone from URL」をクリック 2. それぞれ設定し、「Clone」をクリック A:リポジトリ URL(SSH)   コピーしてきた SSH のアドレス B:ローカルの clone したい場所にリポジト リ名でフォルダを作り選択 A B
  17. 17. 3. リポジトリの画面に Clone したリポジ トリが表示される
  18. 18. SourceTree:pull 1. リポジトリの画面で「Pull」ボタンをクリック 2. リポジトリ、ブランチがあっていれば、基本的 には「OK」を押すだけ 1.リポジトリの画面で「Push」ボタンをクリック 2. リポジトリ、ブランチがあっていれば、基本的 には「OK」を押すだけ SourceTree:push
  19. 19. 操作紹介:ちょっと難しいやつ SourceTree だけ紹介
  20. 20. 変更の一部だけを add する:add -p コマンドだとこんな感じ 1 つずつ yes/no していくのがすごいめんどい
  21. 21. 変更の一部だけを add する:add -p 1.「作業コピー」に変更した行が表示される 2. 必要な行(Hunkという単位)の「Hunkをステージへ移動」をクリック
  22. 22. 3.「作業ツリー」と「ステージ」の両方にファイルが表示される 4.「ステージ」のファイルを見ると先ほど選択したHunk だけステージされてる のが確認できる
  23. 23. 特定のCommitだけmergeする:git cherry-pick コマンドだとこんな感じ コミットIDを指定するのだが、コミット ID 探すのめんどい
  24. 24. 1. コミットの一覧から特定のコミットを選択して右クリック 2.「チェリーピック」をクリック 特定のCommitだけmergeする:git cherry-pick
  25. 25. 3.「OK」をクリック、競合がなければ以上!
  26. 26. その他 ・チェックアウト  →特定のコミットから新規ブランチ作成 ・リセット  →コミット前の加えた変更のリセットや、   特定のコミットまでのロールバックなど ・スタッシュ  →コミット前の変更の一時退避
  27. 27. GUI ツールを使って、 快適な Git ライフを送りましょう♪
  28. 28. ご静聴 ありがとうございました!

×