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